TDesign 表单重置后校验信息没清除怎么办?

宇文梓辰 阅读 5

我用 TDesign 的 Form 组件做了一个带校验的表单,点击重置按钮后字段值清空了,但红色的校验提示还在页面上,看着很奇怪。

我试过调用 formRef.value.reset(),也试过手动把 data 里的字段设为空,但校验错误信息就是不消失,是不是漏了什么方法?

这是我的重置逻辑:

const handleReset = () => {
  formRef.value.reset();
  formData = { name: '', email: '' };
}
我来解答 赞 2 收藏
二维码
手机扫码查看
1 条解答
迷人的璐莹
啊,这个问题我也遇到过,TDesign的reset确实不会自动清除校验状态。建议改成这样:

const handleReset = () => {
formRef.value.reset();
formRef.value.clearValidate(); // 关键在这行,手动清除校验状态
formData = { name: '', email: '' };
}


我当初也被坑过,查文档才发现要调clearValidate。顺便吐槽下,这种基础功能居然不内置在reset里,每次都要手动调两行代码...

如果还不行可以试试formRef.value.validate()强制重新校验一次,不过上面那个方法应该够用了。
点赞
2026-03-10 11:01