vue elementUI下拉框值無(wú)法選中問(wèn)題及解決方案
vue elementUI下拉框值無(wú)法選中問(wèn)題
大家在寫(xiě)系統(tǒng)的時(shí)候,會(huì)有這樣的需求:點(diǎn)擊修改后把需要修改的數(shù)據(jù)放入表單,其中會(huì)有下拉單選框、下拉多選框。
展示下拉框單選框內(nèi)的數(shù)據(jù)只需要將所選id賦值給下拉框綁定的值就可以了。在修改的時(shí)候,大家會(huì)發(fā)現(xiàn)下拉框選擇不了,出現(xiàn)這問(wèn)題的原因就是視圖更新不夠及時(shí),在下拉框綁定一個(gè)change事件,寫(xiě)入this.$forceUpdate()就不會(huì)出現(xiàn)問(wèn)題了
<el-form-item label="游戲">
<el-select v-model="form.gamesId" filterable placeholder="請(qǐng)選擇" @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 // 點(diǎn)擊修改后請(qǐng)求接口,將值賦給下拉框綁定的變量 這樣會(huì)有視圖更新不及時(shí)的問(wèn)題
changeGame(id){
this.$forceUpdate() //在下拉框上綁定change事件 更新視圖 這樣就不會(huì)有視圖更新的問(wèn)題
},多選框。多選框不像單選框只要直接賦值進(jìn)去就可已,還需要做進(jìn)一步處理
<el-form-item label="標(biāo)簽" prop="label">
<el-select v-model="form.label" multiple collapse-tags placeholder="請(qǐng)選擇">
<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擴(kuò)展:
解決element-ui的下拉框有值,點(diǎn)擊后卻無(wú)法選中的問(wèn)題
出現(xiàn)原因
因?yàn)橄吕斜淼臄?shù)據(jù)是根據(jù)輸入框的值的變化時(shí)行實(shí)時(shí)調(diào)用接口來(lái)更新而非不變的,頻繁的更新,可能造成點(diǎn)擊下拉列表中的某項(xiàng)后,select所綁定的value值無(wú)法進(jìn)行及時(shí)的更新,尤其是所綁定的值是對(duì)象時(shí)(vue不能檢測(cè)對(duì)象屬性的變化),更加會(huì)造成無(wú)法選中的問(wèn)題。
解決方法
無(wú)法及時(shí)更新,那么用change事件監(jiān)聽(tīng)值的變化,調(diào)用this.$forceUpdate()手動(dòng)強(qiáng)制更新,重新渲染。
代碼如下
<el-select v-model="value" placeholder="請(qǐng)選擇" @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下拉框值無(wú)法選中問(wèn)題的文章就介紹到這了,更多相關(guān)vue elementUI下拉框內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue 使用moment獲取當(dāng)前時(shí)間及一月前的時(shí)間
開(kāi)發(fā)中會(huì)有要獲取當(dāng)前日期的需求,有的是獲取到當(dāng)前月份,本文就介紹了vue獲取當(dāng)前日期時(shí)間(moment、new?Date()),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-08-08
在Vue組件化中利用axios處理ajax請(qǐng)求的使用方法
這篇文章主要給大家介紹了在Vue組件化中利用axios處理ajax請(qǐng)求的使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面跟著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-08-08
vue中?根據(jù)判斷條件添加一個(gè)或多個(gè)style及class的寫(xiě)法小結(jié)
這篇文章主要介紹了vue中?根據(jù)判斷條件添加一個(gè)或多個(gè)style及class的寫(xiě)法,文中給大家補(bǔ)充介紹了關(guān)于vue里:class的使用結(jié)合自己的實(shí)現(xiàn)給大家講解,需要的朋友可以參考下2023-03-03
Vue ECharts簡(jiǎn)易實(shí)現(xiàn)雷達(dá)圖
這篇文章主要介紹了基于Vue ECharts簡(jiǎn)易實(shí)現(xiàn)雷達(dá)圖,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12
淺談ElementUI中switch回調(diào)函數(shù)change的參數(shù)問(wèn)題
今天小編就為大家分享一篇淺談ElementUI中switch回調(diào)函數(shù)change的參數(shù)問(wèn)題,具有很好的價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08

