原因可能是打开对话框的时候会给表单赋值,赋值的时候为空值,这个时候就触发了一次校验,所以打开对话框的时候表单校验就已经存在了。
解决办法 : 在对话框打开或者关闭的时候使用clearValidate方法移除表单的校验。
<el-button type="text" @click="handleAdd" >编辑</el-button >
handleAdd是点击打开编辑(新增)对话框的函数,在该函数内添加以下代码:
handleAdd(){
if (this.$refs[formName]) {
this.$refs[formName].clearValidate();
}
}
问题解决。