我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue+elementui(对话框中form表单的reset问题)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue+elementui(对话框中form表单的reset问题)

对话框中form表单的reset问题

一般在新增和编辑的时候用的都是同一个对话框和form表单,而在先点击编辑的时候form表单的resetfileds函数就会失效

解决原理

实际上结构是(通过vue类比)

  • data里面有一个form表单的初始值,
  • methods里面定义了一个resetfileds的函数
  • resetfileds函数的作用:记录在mounted生命周期执行之前最后一次form表单中对象的值,并且重新开启效验

在mounted周期中resetfileds函数会自动执行一次

实际运行:当第一次点开dialog的时候,form对象第一次被创建,dom加载,即自动运行一次resetfileds函数(此时已经记录了初始值)

在后面当再一次调用resetfileds函数的时候就会把函数中记录的对象值赋给form表单,所以如果是先点击编辑的情况下,form表单在点击新增时不会清空数据

解决办法

1:可以再新增时手动清除数据(缺点:此时resetfileds函数中记录的值并没有改变,还是当时第一次点击编辑的时候赋的值,但不影响使用)

2:第一次加载dom时如果要修改data中定义的form对象值,那么要将修改操作放在form表单dom元素加载完以后,即mounted生命周期之后(比较推荐的方式)

代码:第一次加载dom时如果要修改data中定义的form对象值,放在$nextTick中执行(即等待resetfileds函数执行以后再去把编辑或者新增的值赋值给form表单,这样子,resetfileds函数记录的就是form表单中data定义的初始化值)

element UI form表单重置无效

element 组件库里面重置有两个方法resetField和clearValidate,但是这两个方法,要用这两个方法肯定是要用ref实例化一个表单,用实例化的对象去重置表单,但是经常性的无效

实例化是

<el-form ref="operateForm" :model="form" :rules="rules">

使用方式经常是

this.$refs['operateForm'] && this.$refs['operateForm'].clearValidate()

说下解决

resetForm() {    //    注意:在这个方法中重置
      this.image = []
      this.form = {
        images: []
      }
    }

手动重置表单数据,然后用方法去重置规则状态

this.$refs['operateForm'] && this.$refs['operateForm'].clearValidate()    
//注意:在进到表单之前重置,我这边的话是弹框,我写在打开弹框的方法中的

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue+elementui(对话框中form表单的reset问题)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

antd中form表单的wrapperCol和labelCol问题详解

最近学习中遇到了些问题,所以给大家总结,下面这篇文章主要给大家介绍了关于antd中form表单的wrapperCol和labelCol问题的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-02-08

vue+element-ui中form输入框无法输入问题的解决方法

很多初次接触element-ui的同学,在用到elementform组件时可能会遇到input框无法输入文字的问题,下面这篇文章主要给大家介绍了关于vue+element-ui中form输入框无法输入问题的解决方法,需要的朋友可以参考下
2023-05-14

react的ui库antd中form表单使用SelectTree反显问题及解决

这篇文章主要介绍了react的ui库antd中form表单使用SelectTree反显问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-16

react的ui库antd中form表单使用SelectTree反显问题如何解决

这篇文章主要介绍了react的ui库antd中form表单使用SelectTree反显问题如何解决的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇react的ui库antd中form表单使用SelectTree反
2023-07-05

编程热搜

目录