elementUI彈窗里的表單重置不生效問題解決
還有最后一個小模塊項目馬上就做完了,最一個模塊比較簡單,還是一個表格,表格每一行的最后有兩個按鈕,修改和刪除,新增按鈕則在表格外面。點擊修改和新增按鈕可以彈出一個表單彈窗。修改可以回顯某一行的數(shù)據(jù)到輸入框。本來回顯什么都沒問題,等我自己測試才發(fā)現(xiàn)點擊修改后再點擊新增,表單里的輸入框里回顯的數(shù)據(jù)沒有清空。
第一想法是點擊修改后給輸入框賦值,但是關(guān)閉彈窗后沒有清空表單數(shù)據(jù),所以導(dǎo)致點擊新增時,輸入框數(shù)據(jù)仍在。所以要在彈窗關(guān)閉時,清空表單數(shù)據(jù)。
給彈窗添加關(guān)閉時的事件:
<el-dialog id="AddDialog" title="彈窗標(biāo)題" :visible.sync="dialogVisible" width="55%" top="10vh" show-close @close="handleClose"> <!--@close="handleClose" 添加關(guān)閉時的監(jiān)聽事件-->
method:{ handleClose(){ this.$refs.dialogForm.resetFields(); this.dialogVisible = false; } } //注:表單重置一定要添加prop屬性和ref屬性。prop屬性綁定輸入框綁定的值,ref不能和其他表單重復(fù)
本以為這么做就已經(jīng)好了,等到自己測試的時候發(fā)現(xiàn)點擊修改后再點擊新增,重置按鈕好像沒有生效,但是又好像生效了,就再往上查了下,才知道問題出現(xiàn)在哪。
先說this.$refs.dialogForm.resetFields();
的作用:對整個表單進(jìn)行重置,將所有字段值重置為初始值并移除校驗結(jié)果
注意是所有字段值是重置為初始值,而不是清空值。
有什么區(qū)別呢,就比如我剛做的,因為表單是在彈窗里,彈窗默認(rèn)是關(guān)閉狀態(tài),里面的數(shù)據(jù)沒被初始化,新增和修改都可以打開彈窗,如果先點擊的是新增,表單里的值初始化就是為空的,空就是初始值,但是如果先點擊的是修改,表單里的初始值就是打開的回顯的數(shù)據(jù)。
這就是為什么重置有時生效有時又不生效,而有時又好像部分生效的原因。
找到原因后就要找到解決辦法,
//修改方法 amend(code) { this.dialogVisible = true; this.$nextTick(() => { // 注意看這里 以下是回顯方法 }) }
this.$nextTick()
將回調(diào)延遲到下次 DOM 更新循環(huán)之后執(zhí)行。在修改數(shù)據(jù)之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一樣,不同的是回調(diào)的 this 自動綁定到調(diào)用它的實例上。
然后再次點擊就發(fā)現(xiàn)問題已經(jīng)解決了。
到此這篇關(guān)于elementUI彈窗里的表單重置不生效問題解決的文章就介紹到這了,更多相關(guān)element 表單重置不生效內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue Element前端應(yīng)用開發(fā)之常規(guī)的JS處理函數(shù)
在我們使用Vue Element處理界面的時候,往往碰到需要利用JS集合處理的各種方法,如Filter、Map、reduce等方法,也可以涉及到一些對象屬性賦值等常規(guī)的處理或者遞歸的處理方法,本篇隨筆列出一些在VUE+Element 前端開發(fā)中經(jīng)常碰到的JS處理場景,供參考學(xué)習(xí)。2021-05-05關(guān)于vue中標(biāo)簽的屬性綁定值渲染問題
這篇文章主要介紹了關(guān)于vue中標(biāo)簽的屬性綁定值渲染問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06使用WebSocket+SpringBoot+Vue搭建簡易網(wǎng)頁聊天室的實現(xiàn)代碼
這篇文章主要介紹了使用WebSocket+SpringBoot+Vue搭建簡易網(wǎng)頁聊天室的實現(xiàn),具體的步驟如下,需要的朋友可以參考下2023-03-03在Vue中用canvas實現(xiàn)二維碼和圖片合成海報的方法
這篇文章主要介紹了在Vue中用canvas實現(xiàn)二維碼和圖片合成海報的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Vue3+Antd實現(xiàn)彈框顯示內(nèi)容并加入復(fù)制按鈕
這篇文章主要介紹了Vue3+Antd實現(xiàn)彈框顯示內(nèi)容并加入復(fù)制按鈕,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12