正确方法:
this.$refs["myform"].clearValidate();
不要使用,因为它会清楚提示的同时把表单值还原为初始值
this.$refs["myform"].resetFields();
完整代码:
<a-form-model :model="myform" ref="myform" :rules="rules">
<a-form-model-item label="名称" prop="name">
<a-input v-model="myform.name"></a-input>
</a-form-model-item>
</a-form-model>
data() {
return {
myform: {
name: ''
},
rules:{
//表单验证
name: [{ required: true, message: '必填', trigger: 'blur' },
},
},
...
watch:{
myform: {
handler(newObj,oldObj){
if(newObj.name!=""){
this.$refs["myform"].clearValidate(); //清除所有校验规则
}
},
deep:true
}
},
本文介绍了在Vue.js应用中,如何避免使用clearValidate()的副作用,推荐使用resetFields()来清理表单验证并保持数据,同时给出了一个包含A-Form组件和数据监听的示例。
2346

被折叠的 条评论
为什么被折叠?



