问题场景:
vue element ui在做编辑和添加时候使用同一个组件页面,先点击编辑然后在点击新增,此时表单数据不清空,使用this.$refs[dataForm].resetFields()也无效。
问题原因:
点击编辑 再点击添加,这时候数据已经赋值了,this.$refs['dataForm'].resetFields()这个做法其实是重置表单到初始值,不是清空表单,当表单第一次在页面中渲染时所用的数据就是初始数据,表单渲染时就会将这个修改对象作为初始值,所以出现无效了。
解决方法:
(1)用nextTick(() => {
this.$refs['dataForm'].resetFields();
});
(2)如果(1)不行的话就直接在页面初始的时候将表单数据重置:
this.refs['dataForm'].clearValidate() //移除表单项的校验结果
});
for(let key in this.dataForm){
this.dataForm[key]=""
}
以上over~