美文网首页
解决element resetFields()不生效的问题

解决element resetFields()不生效的问题

作者: IssunRadiance | 来源:发表于2023-10-08 10:41 被阅读0次
    1. 首先我们新增编辑的时候
    formOpen(num, row) {
      this.addXiangDia = true // 表单弹窗打开
      this.addDialogType = num // 1-新增  2-编辑
      if (num == 2) {  // 编辑的时候 数据回显赋值
        this.addForm.desc = row.target_desc
        this.addForm.addname = row.target_name
        this.addForm.addsj = row.target_value
      }
    },
    
    1. 这时候我们点击编辑, 数据回显没问题


      image.png
    2. 这时候弹窗关闭,会调取方法

    formClose(formName) { // formName-弹窗中el-form的ref值
      this.$refs[formName].resetFields() // 表单重置
    },
    
    1. 这时候正常 会把表单已经重置清空了,但是新增时,数据还在


      image.png
    2. 解决方法:

    formOpen(num, row) {
      this.addXiangDia = true // 表单弹窗打开
      this.addDialogType = num // 1-新增  2-编辑
      if (num == 2) {  // 编辑的时候 数据回显赋值
        this.$nextTick(() => {
          this.addForm.desc = row.target_desc
          this.addForm.addname = row.target_name
          this.addForm.addsj = row.target_value
        })
      }
    },
    

    加一个this.$nextTick(() => {}),在 form 表单 mounted之后再进行赋值操作,这样就可以了。

    相关文章

      网友评论

          本文标题:解决element resetFields()不生效的问题

          本文链接:https://www.haomeiwen.com/subject/sccbbdtx.html