vue elementUI下拉框值無法選中問題及解決方案
vue elementUI下拉框值無法選中問題
大家在寫系統(tǒng)的時候,會有這樣的需求:點擊修改后把需要修改的數(shù)據(jù)放入表單,其中會有下拉單選框、下拉多選框。
展示下拉框單選框內(nèi)的數(shù)據(jù)只需要將所選id賦值給下拉框綁定的值就可以了。在修改的時候,大家會發(fā)現(xiàn)下拉框選擇不了,出現(xiàn)這問題的原因就是視圖更新不夠及時,在下拉框綁定一個change事件,寫入this.$forceUpdate()
就不會出現(xiàn)問題了
<el-form-item label="游戲"> <el-select v-model="form.gamesId" filterable placeholder="請選擇" @change="changeGame"> <el-option v-for="item in gameList" :key="item.id" :label="item.name" :value="item.id"></el-option> </el-select> </el-form-item>
this.form.gamesId = res.data.gamesId // 點擊修改后請求接口,將值賦給下拉框綁定的變量 這樣會有視圖更新不及時的問題
changeGame(id){ this.$forceUpdate() //在下拉框上綁定change事件 更新視圖 這樣就不會有視圖更新的問題 },
多選框。多選框不像單選框只要直接賦值進去就可已,還需要做進一步處理
<el-form-item label="標(biāo)簽" prop="label"> <el-select v-model="form.label" multiple collapse-tags placeholder="請選擇"> <el-option v-for="item in labels" :key="item.id" :label="item.name" :value="item.name"> </el-option> </el-select> </el-form-item>
// this.form.label:下拉框綁定值 this.labels:下拉框內(nèi)所有數(shù)據(jù) let arr=[] this.form.label.forEach(val=>{ this.labels.forEach(item=>{ if(val==item.id){ arr.push(item.name); } }) }) this.form.label=arr
擴展:
解決element-ui的下拉框有值,點擊后卻無法選中的問題
出現(xiàn)原因
因為下拉列表的數(shù)據(jù)是根據(jù)輸入框的值的變化時行實時調(diào)用接口來更新而非不變的,頻繁的更新,可能造成點擊下拉列表中的某項后,select所綁定的value值無法進行及時的更新,尤其是所綁定的值是對象時(vue不能檢測對象屬性的變化),更加會造成無法選中的問題。
解決方法
無法及時更新,那么用change事件監(jiān)聽值的變化,調(diào)用this.$forceUpdate()手動強制更新,重新渲染。
代碼如下
<el-select v-model="value" placeholder="請選擇" @change="change()"> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"></el-option> </el-select> change(){ this.$forceUpdate() },
參考鏈接 https://segmentfault.com/a/1190000020744277
到此這篇關(guān)于vue elementUI下拉框值無法選中問題的文章就介紹到這了,更多相關(guān)vue elementUI下拉框內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue 使用moment獲取當(dāng)前時間及一月前的時間
開發(fā)中會有要獲取當(dāng)前日期的需求,有的是獲取到當(dāng)前月份,本文就介紹了vue獲取當(dāng)前日期時間(moment、new?Date()),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2023-08-08vue中?根據(jù)判斷條件添加一個或多個style及class的寫法小結(jié)
這篇文章主要介紹了vue中?根據(jù)判斷條件添加一個或多個style及class的寫法,文中給大家補充介紹了關(guān)于vue里:class的使用結(jié)合自己的實現(xiàn)給大家講解,需要的朋友可以參考下2023-03-03淺談ElementUI中switch回調(diào)函數(shù)change的參數(shù)問題
今天小編就為大家分享一篇淺談ElementUI中switch回調(diào)函數(shù)change的參數(shù)問題,具有很好的價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08