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

sudo0m Lv3

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

代码流程:打开编辑页面给编辑框传入值,然后调用 this.$refs[forName].resetFields()

resetFields()方法官网的解释

Snipaste_2023-07-14_19-05-52

也就是说在调用弹窗传入值的时候就把初始值更改了,那么后面调用resetFields()都是无效的,因为form表单的初始值已经在 mounted 之前就被赋值了

所以我们要在 form 表单 mounted之后再进行赋值操作这样就可以完美解决问题了

可以使用 nextTick()方法

错误代码

Snipaste_2023-07-14_19-14-23

正确代码:

Snipaste_2023-07-14_19-12-21

  • 标题: Element resetFields()重置表单不生效的问题
  • 作者: sudo0m
  • 创建于: 2023-07-14 19:18:41
  • 更新于: 2023-07-14 19:20:56
  • 链接: https://sudo0m.github.io/page/20230714191841/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
此页目录
Element resetFields()重置表单不生效的问题