问题描述:
一般表单使用 this.$refs[formName].resetFields() 进行重置,但是elementui中,清空数据是基于第一次打开时的数据为模板进行重置,由于第一次点击的编辑,数据渲染到模板上了,所以dialog就认为这个是初始模板,每次重置都以这一部分数据来重置表单。
解决方案:
渲染表单用以下方式:
this.$nextTick(function () {
_this.ruleForm = {...data};
})
坑2:如果表单采用 :visible.sync="true" 的方式来显示隐藏,则在表单赋值之前显示出来,因为这个类似于v-if。否则也会重置失败。