使用this.$refs['formName'].resetFields()无法重置表单
当prop和formName的属性名不一样是就会出现这种情况,
如果下面的prop="SN"就会重置不了
<el-form-item label="SN" prop="sn"> <el-input v-model="formName.sn" placeholder="请输入SN" /> </el-form-item>
新增和修改用同一个弹窗,修改的时候回显数据后,重置(resetFields)不起作用
是因为dom加载更新是异步的,应该等dom渲染完毕之后再把数据回显,如果在dom渲染完毕之前把数据回显,那么重置(resetFields)不起作用
解决方案:用this.$nextTick()确保渲染完毕后回显数据
// 编辑 edit_child(row) { this.visible.child = true this.$nextTick(() => { this.childForm = { ...row } }); },
要重置的时候就可以直接写
// 取消弹窗 cancelDialog_child() { this.$refs['childForm'].resetFields(); this.visible.child = false },

浙公网安备 33010602011771号