vue+elementui 表单resetFields()重置无效

本文探讨了在Vue应用中使用Element UI表单时,遇到编辑后新增resetFields()方法无效的问题。作者揭示了原因并提供了解决方案,即在编辑时确保表单初始化后再赋值,通过$nextTick延迟执行。
摘要由CSDN通过智能技术生成

vue+elementui 表单resetFields()重置无效

一般表单重置无效有以下三种情况

  1. 表单加ref属性
    在这里插入图片描述

  2. 需要重置的表单项el-form-item必须要加上prop属性,并且prop属性的值必须和数据双向绑定的值最后面保持一致,如
    在这里插入图片描述

  3. elementUI表单先编辑后新增resetFields()无效

    问题描述:

    • 页面有个新增和编辑共用的弹出框表单,在页面初始化后先点新增,后编辑,正常。
    • 先编辑,后新增使用resetFields()表单数据竟然没有清空。

    解决:

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

edit(row) {
    this.visible = true;
    this.$nextTick(()=>{
        //赋值
        this.editForm = {...row};
    })
},

原因:

  1. 当我们先新增再编辑,初始值是空的,调用resetFields()方法自然正常。
  2. 当我们先编辑再新增,会对表单赋值,初始值就是我们赋的值,调用resetFields()方法,表单里还有之前赋的值,并不是我们希望得到的清空表单。
    在这里插入图片描述
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值