问题描述
在用ElementUI做动态表单时,数据的修改都是打开dialog(子组件)中进行操作的,但是在修改数据时,正常来说可以直接调用 this.$refs[str].resetFields() 直接清空,但是这里会出现一个问题:
form表单的重置是以第一次打开的数据作为重置标准,如果先打开的是编辑,那么重置之后以第一次更新的数据作为标准,即表单的数据为编辑时的数据;
解决方式
- 用 nextTick 处理一下form的数据
this.$nextTick(() => {
this.detailForm = data;
})
- 然后在关闭dialog 时调用重置方法
resetForm(formName) {
this.$refs[formName].resetFields();
}