elementui--表單清空的問題、先編輯后新增resetFields()無效的坑


elementUI的表單resetFields()方法無法清空

需要注意幾個問題:

  1. 我們需要為每個form-item加上prop屬性,要不然無法清空(大部分的問題就是出在這)
  2. resetFields()方法是重置表單,重置為初始值,而不是設置為空值
  3. 在resetFields()方法之前,如果修改了data里的表單默認值,那么重置以后就是你修改以后的值,而不是data里的值了

問題

1、頁面有個新增和編輯共用的彈出框,在頁面初始化后先點新增,后編輯,正常。
2、先編輯,后新增使用resetFields()表單數據竟然沒有清空。

原因

1、當我們先新增再編輯,初始值是空的,調用resetFields()方法自然正常。
2、當我們先編輯再新增,會對表單賦值,初始值就是我們賦的值,調用resetFields()方法,表單里還有之前賦的值,並不是我們希望得到的清空表單。

解決

  在編輯時,彈出框我們先讓他初始化結束再賦值,使用$nextTick再執行賦值。

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM