關(guān)于element-ui resetFields重置方法無效問題及解決
element-ui resetFields重置方法無效
目前發(fā)現(xiàn)resetFields(),有以下兩種情況可能會導(dǎo)致失效:
情況1.el-form-item沒有加上prop屬性
需要重置的表單項el-form-item必須要加上prop屬性,并且prop屬性的值必須和數(shù)據(jù)雙向綁定的值最后面保持一致
element-ui 提供的文檔如圖:
圖例如下:
情況2.在mounted之前給表單賦值(mounted DOM未掛載完成)
在mounted之前賦值會被當(dāng)成是初始值,而resetFields方法是將值重置為初始值而不是清空。所以導(dǎo)致沒有清空數(shù)據(jù)。
解決辦法
法一:表單在mounted再賦值
法二:使用this.$nextTick(() => { // 這里開始賦值 this.form.xx = xx; })
element-ui表單重置函數(shù)resetFields();使用注意事項
在表單重置的時候我們習(xí)慣使用this.$refs[formName].resetFields();來重置表單,但有時候會出現(xiàn)重置不完全的情況,例如:
表單綁定的變量:
formData:{ id:null, name:null , age:null}
表單html:
<el-form ref="form" :model="formData" label-width="80px" size="mini"> ? ?<el-form-item label="姓名"> <el-input v-model="formData.name"></el-input> </el-form-item> ? ?<el-form-item label="性別"> <el-input v-model="formData.age"></el-input> </el-form-item> </el-form>
當(dāng)我們在編輯的時候會從后臺返回數(shù)據(jù)回填formData(有id),
當(dāng)我們使用 this.$refs[‘form’].resetFields();重置表單的時候,不能把id重置成null(因為表單html中沒有引用id項,所以重置的時候不能把formData.id重置),如果要把id重置成null,這個時候就要手動重置formData.id
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue項目實現(xiàn)m3u8流媒體播放詳細(xì)圖文教程
m3u8是一種常用的視頻流媒體格式,通常用于在Web上播放視頻,這篇文章主要給大家介紹了關(guān)于vue項目實現(xiàn)m3u8流媒體播放的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09Vue項目數(shù)據(jù)動態(tài)過濾實踐及實現(xiàn)思路
這篇文章主要介紹了Vue項目數(shù)據(jù)動態(tài)過濾實踐,,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-09-09Vue + Webpack + Vue-loader學(xué)習(xí)教程之功能介紹篇
這篇文章主要介紹了關(guān)于Vue + Webpack + Vue-loader功能介紹的相關(guān)資料,文中介紹的非常詳細(xì),相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03