element-ui彈出框this.$refs[form].resetFields()不清空表單


問題描述:

在項目中遇到點擊完編輯然后點擊新增按鈕導致編輯框里的內容未清空,或者this.$refs[form].resetFields()只是清空一部分表單。

問題原因:

this.$refs[form].resetFields()只能清空掉非初始值的字段,所以在新增時先把聲明的字段重新清空然后執行resetFields();

代碼:

dialog(form){
      this.addData = {
           delegation_id:'',
           delegation_name:'',
           head_employee_code:'',
           contain_departments:[],
           delegate_member:[]
      }
      this.$nextTick(()=>{
           this.$refs[form].resetFields();//清空表單
      })
      this.addDelegation = true
},
                    

 經實際項目經驗有時候還是清除不干凈表單,下邊再添加一下解決方案

在編輯回顯的時候添加代碼(紅框中的代碼)

        async handleEdit(id) {
                this.roleTitle = "修改角色"
                if (this.$refs['form']) {
                    this.$refs['form'].resetFields();
                }
                let res = await api.role.detailsRole(id);
                if(res.code == 200){
                    this.dialogFormVisible = true
                    this.$nextTick(() => { // 這里開始賦值 解決重置不了表單問題
                      this.roleData = res.data
                    })
                }else{
                    MessageBox.alert(res.msg, '提示', {confirmButtonText: '確定'});
                }
            },

自行復制吧,還解決不了可留言。

 


免責聲明!

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



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