解决 element-ui 表单清空的问题:先编辑后新增 resetFields() 无效

这篇具有很好参考价值的文章主要介绍了解决 element-ui 表单清空的问题:先编辑后新增 resetFields() 无效。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


前言

首先需要注意几个问题:

  1. 我们需要为每个 form-item 加上 prop 属性,要不然无法清空(大部分的问题就是出在这)
  2. resetFields() 方法是重置表单,重置为初始值,而不是设置为空值
  3. 在 resetFields() 方法之前,如果修改了 data 里的表单默认值,那么重置以后就是你修改以后的值,而不是 data 里的值了

一、问题

1、页面有个新增和编辑共用的弹出框,在页面初始化后先点新增,后编辑,可以重置 form。
2、先编辑,后新增使用 resetFields() 表单数据没有清空。

二、原因和解决方法

1. 原因

1、当我们先新增再编辑,初始值是空的,调用 resetFields() 方法自然正常。
2、当我们先编辑再新增,会对表单赋值,初始值就是我们赋的值,调用 resetFields() 方法,表单里还有之前赋的值,并不是我们希望得到的清空表单。

2. 解决方法

在编辑时,弹出框中的表单我们先让他初始化结束再赋值,使用 $nextTick 执行赋值。

代码如下(示例):

handleEdit(row) {
  this.addAndEditDialogShow = true;
  this.dialogTitle = '编辑';

  // 解决表单重置不成功的问题
  this.$nextTick(() => {
    this.formData = {
      id: row.id,
      taskCode: row.taskCode,
      fullName: row.fullName,
      priority: row.priority,
      taskType: row.taskType,
      robotId: row.robotId,
      starTtime: row.starTtime
    };
  });
},

总结

elementui重置清空表单,Vue,ui,前端,javascript文章来源地址https://www.toymoban.com/news/detail-548477.html

到了这里,关于解决 element-ui 表单清空的问题:先编辑后新增 resetFields() 无效的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Element-UI form表单 resetFields() 重置表单无效问题

    原因: resetFields() 是将表单项重置为初始值,而这个初始值是在 Vue mounted 时赋值上去的,如果在这之前对表单进行了赋值,则初始值会改变,那么后面调用 resetFields() 则不会生效(不会是定义时的空值) 方法1:将赋值操作定义在 this.$nextTick() 中(保证了初始值不被修改)

    2024年02月11日
    浏览(80)
  • element-ui for循环生成表单时,表单校验问题

    1、静态生成的表单,校验规则是放在data中处理 2、动态表单页面,需要把规则放在el-form-item中,进行校验 注意事项: 当使用v-for循环生成表单时, :prop有格式要求 格式不对会报错 :prop=“‘appraisalTempContent.’ + index + ‘.score’” 字段说明: 1、appraisalTempContent=遍历数组的k

    2024年02月16日
    浏览(46)
  • element-ui表单校验不能同步结果的问题

    多个表单遍历时,要依次获取各个结果,但是往往拿不到最终结果 let flag=true this.$refs[‘form’].validate(valid={ flag=valid }) console.log(valid)//永远是true 提示:这里填写问题的分析: element文档里描述了,validate方法参数为一个回调函数,如果不传则返回一个promise 我们可以在validate的

    2024年02月12日
    浏览(46)
  • element-ui部分表单组件的必填校验问题

    el-date-picker 必填校验 el-cascader 必填校验

    2024年02月12日
    浏览(49)
  • Element-UI el-select多选表单校验问题

    在使用 el-select 多选下拉菜单配置表单校验时, 如果form表单绑定的form对象对应属性值为空字符串或者null(其他未尝试),表单中的多选下拉框会立刻执行校验并弹出校验信息,代码如下: 正确方式如下: 将多选下拉框对应的属性值默认值设置未空数组即可

    2024年02月16日
    浏览(62)
  • element-ui 表单校验,el-select校验失效问题

    form表单验证时,遇到了校验失效问题,有值的情况下,校验规则并没有对应消失,检查了几个容易出错的地方:1、:model=\\\"addForm\\\" 用model绑定表单,而不是v-model,没问题 2、需要添加校验的对应字段,是否添加了prop属性,ok没问题 3、检查rules,里面校验提示的事件是否正确,发

    2024年02月11日
    浏览(60)
  • 关于Element-UI el-select多选表单校验问题

       在使用 el-select 多选下拉菜单配置表单校验时, 如果form表单绑定的form对象对应属性值为空字符串或者null(其他未尝试),表单中的多选下拉框会立刻执行校验并弹出校验信息,代码如下: 正确方式如下: 将多选下拉框对应的属性值默认值设置未空数组即可

    2024年02月11日
    浏览(54)
  • 关于element-ui中表单重置不生效的原因,及解决方法

    resetFields这个方法是将表单重置为 初始值 , 也就是说,是将表单中的数据重置为dom节点渲染时的值,而不是重置为空对象。 也就是说,当你的表单数据,是在dom节点渲染前被赋值的,那么他的初始值就不为空了。 还有就是vue中对象是不能直接赋值给另一个对象的 解决方法

    2024年02月13日
    浏览(41)
  • vue element-ui (可编辑)table加载缓慢问题

    公司最近开了个需求会,要求做一个可编辑的table的表格,并且要求该表格添加权限,点击可编辑,时间段跳转(选择时间,跳转到时间当前位置),无分页(要求一页解决),有选中框,有批量处理的功能,input添加校验功能,小图标展示,编辑后局部刷新页面: 1. 管理员

    2024年02月15日
    浏览(41)
  • 解决element-ui表单禁用状态时,其表单中包含的组件或其他元素不被禁用

    解决element-ui表单禁用状态时,其表单中包含的组件或其他元素不被禁用 (1)例子 (2)zujian.vue(要使自定义组件其外层表单的影响。可以在组件内部加上新的el-form解决)

    2024年02月13日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包