场景
1、用dialog【新增】、【修改】数据
2、先点击了【修改】,弹出弹窗,此时弹窗的form表单已经赋值
3、再点击新增按钮,此时调用resetFields()方法是没有办法使form清空的
原因:
resetFields是将form表单重置到初始值,而这个初始值是form表单mounted后的值,也就是点击了【修改】时赋的值。
解决方法:
dialog的form表单清空,this.formData = this.$options.data().formData //弹窗表单复制为刚进页面的初始值
解决方法
在点击【新增】的时候使用以下方法
this.formData = this.$options.data().formData //弹窗表单复制为刚进页面的初始值
this.dialogFormVisible = true //显示dialog
this.$nextTick(() => {
this.$refs.formData.resetFields()
})
优点:方法一相当于方法二
data() {
return {
formData: {
name:'',
tel:'',
age:'',
status: '',
result: '',
}
}
},
//方法一
this.formData = this.$options.data().formData
//方法二
this.formData = {
name:'',
tel:'',
age:'',
status: '',
result: ''
}