淺談vue中resetFields()使用注意事項
this.$refs.frmAdd.resetFields();這句在使用中有些時候不會有啥問題,但有時候就會出問題,而且特別難纏,我原來這么使用就沒問題啊,怎么這里就會有問題,查找各種資料總結(jié)得出:
第一種情況:放在彈框剛準備彈出的時候
第二種情況:放在彈框關(guān)閉方法@close中
發(fā)現(xiàn)上次報紅框的地方仍然在,并未重置
最終解決方案:
this.KaTeX parse error: Expected '}', got 'EOF' at end of input: … this.refs.frmAdd.resetFields(); });
可以放在準備開始彈出彈框時的方法中
補充知識:vue-element-ui 中 form resetFields并沒有清空表單
問題背景
vue-element-ui 中 form中有個清空表單的方法,即假如給表單一個ref='form', 則清空表單的方法為this.$refs['form'].resetFields()
可當我在dialog組件中用這個方法的時候,這就出現(xiàn)問題了,居然清空不了~~~~~
問題所在
問題的本質(zhì)是因為你編輯時,第一次打開dialog的時候給表單綁定的form賦值了,這時候這個form的初始值就變成了你所賦值的值,所以resetFields的時候,會將form對應(yīng)的每個值重置到初始值,這時候的初始值就是你編輯時賦值的那個值, 而不是在data里聲明的初始值,
如表單綁定的值為:
form: { age: 0, name: '' }
但在你打開dialog編輯的時候,你又對它進行賦值,如
this.form = { age:23, name:"lala" }
這個時候form表單會默認這個新賦的值為初始值
解決
解決方式是,等dialog已經(jīng)初始化之后再給form賦值,也就是
this.$nextTick(() => { // 這里開始賦值 this.form.xxx = xxx; })
以上這篇淺談vue中resetFields()使用注意事項就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue響應(yīng)式系統(tǒng)之observe、watcher、dep的源碼解析
這篇文章主要介紹了vue響應(yīng)式系統(tǒng)之observe、watcher、dep的源碼解析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04el-table-column疊加el-popover使用示例小結(jié)
el-table-column有一列展示多個tag信息,實現(xiàn)點擊tag展示tag信息以及tag對應(yīng)的詳細信息,本文通過示例代碼介紹el-table-column疊加el-popover使用示例小結(jié),感興趣的朋友跟隨小編一起看看吧2024-04-04關(guān)于vue.js中實現(xiàn)方法內(nèi)某些代碼延時執(zhí)行
今天小編就為大家分享一篇關(guān)于vue.js中實現(xiàn)方法內(nèi)某些代碼延時執(zhí)行,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Vue中判斷語句與循環(huán)語句基礎(chǔ)用法及v-if和v-for的注意事項詳解
在Vue指令中,最經(jīng)常被用于做邏輯操作的指令,下面這篇文章主要給大家介紹了關(guān)于Vue中判斷語句與循環(huán)語句基礎(chǔ)用法及v-if和v-for注意事項的相關(guān)資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2022-08-08前端H5微信支付寶支付實現(xiàn)方法(uniapp為例)
最近上線一個項目,手機網(wǎng)站進行調(diào)起支付寶App支付,做起來還是滿順手的,在此做個記錄,這篇文章主要給大家介紹了關(guān)于前端H5微信支付寶支付實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2024-04-04