1、在使用resetFields和clearValidate中遇到的坑
element ui官网中对form表单的resetFields和clearValidate介绍
resetFields 对整个表单进行重置,将所有字段值重置为初始值并移除校验结果 — clearValidate 移除表单项的校验结果。传入待移除的表单项的 prop 属性或者 prop 组成的数组,如不传则移除整个表单的校验结果 Function(props: array | string)
- 使用resetFields虽然可以移除校验结果,但是在打开对话前即使做重置输入框数据的操作,页面的输入框还是会出现数据,花了三个小时没有找出该bug出现的原因,最终将resetFields改成了clearValidate。
- 如果this.refs[form].clearValidate()报错,可以使用this.refs.form.clearValidate();
2. 使用表单验证时,没有填写数据就点击确定按钮,会打开表单验证,即使关闭对话框也没有移除表单验证,此时可以在打开对话框时移除表单验证
this.$nextTick(() => {
this.$refs.memberFormRef.clearValidate();//等弹窗里的form表单的dom渲染完在执行去除验证
});