問題描述:
在項目中遇到點擊完編輯然后點擊新增按鈕導致編輯框里的內容未清空,或者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: '確定'}); } },
自行復制吧,還解決不了可留言。