问题描述

在用ElementUI做动态表单时,数据的修改都是打开dialog(子组件)中进行操作的,但是在修改数据时,正常来说可以直接调用 this.$refs[str].resetFields() 直接清空,但是这里会出现一个问题: form表单的重置是以第一次打开的数据作为重置标准,如果先打开的是编辑,那么重置之后以第一次更新的数据作为标准,即表单的数据为编辑时的数据; 

解决方式

点击编辑的时候使用nextTick 处理一下form的数据

_.cloneDeep(value):数据深拷贝

this.$nextTick(() => {
   this.form = _.cloneDeep(value);
})

然后在关闭dialog 时调用重置表单方法

this.$refs['form'].resetFields();

 

Logo

前往低代码交流专区

更多推荐