记录Element resetFields()重置表单不生效的问题

366 阅读1分钟

问题重现:进入列表页后,先打开编辑框,然后打开新增框,新增框会填充第一次打开的编辑框内容

有人会说我在弹框关闭的时候执行重置不就行了,但是这个时候你会发现并没有效果

解决办法:

prop 表单域 model 字段,在使用 validate、resetFields 方法的情况下,该属性是必填的传入 Form 组件的 model 中的字段

关于resetFields()方法

1、此方法用于将form表单的数据设置为初始值。

2、而这个初始值是在form mounted生命周期被赋值上去的

3、所以,在 form mounted之前,如果给form表单赋值了,那么后面调用resetFields()都是无效的,因为form表单的初始值已经在 mounted 之前就被赋值了

所以我们要在 form 表单 mounted之后再进行赋值操作这样就可以完美解决问题了 在点击编辑赋值的时候使用 “this.nextTick”方法赋值给form表单在关闭弹窗的时候执行this.nextTick” 方法赋值给form表单 在关闭弹窗的时候执行this.refs['formName'].resetFields()就可以生效