vue的el-select綁定的值無法選中el-option問題及解決
el-select綁定的值無法選中el-option問題
框架vue-element-ui中的select綁定值v-model無法自動選中option的問題
代碼如下:
<template> ?<el-select v-model="formData.colorId" placeholder="選擇"> ? ?<el-option ? ? ?v-for="item in colorOptions" ? ? ?:key="item.id" ? ? ?:label="item.name" ? ? ?:value="item.id"> ? ?</el-option> ?</el-select> <template>
<script>
colors = {
?"1": "黃",
?"2": "紅",
?"3": "綠"
}
export default {
? data() {
? ?? ?return {
? ?? ??? ?formData:{ colorId: 2 },
? ?? ??? ?colorOptions: obj2Array(colors)
?? ?}
? }
}
function obj2Array(obj){
? const arr = []
? for(let key in obj){
? ? arr.push({id:key, name: obj[key]})
? }
? return arr
}
</script>發(fā)現無法自動選中紅色,而是直接顯示2,這是什么問題呢。
原來是obj2Array這個方法的問題,在重構為數組時,key是字符直接給到id,而colorId是數值,所以無法匹配。
正解:
function obj2Array(obj){
? const arr = []
? for(let key in obj){
? ? arr.push({id:Number(key), name: obj[key]})
? }
? return arr
}
vue el-select 2個下拉框聯動時產生的無法選中值的bug
問題描述
做項目時用了2個el-select下拉框,一個下拉框選擇學校,一個下拉框選擇專業(yè),專業(yè)的數據源是根據學校的選擇來動態(tài)改變的,由于后臺沒有寫成樹的形式,所以寫了2個下拉框進行聯動。
這里就有一個問題:學校改變后,雖然專業(yè)的數據源發(fā)生了變化,但是原來的專業(yè)綁定值并沒有清空,所以我在此就手動清空了專業(yè)的值。
這是就有了這個奇怪的問題,學校改變后,原來的專業(yè)綁定值雖然清空了,但是卻無法選中了。
解決辦法1:使用 this.$set 來設置變量的值,讓視圖重新render
在學校的值改變時,清空原專業(yè)值時用$set(),而不是直接賦值為空。
schoolChange (value) {
? ? // this.form.specialtyid=''
? ? this.$set(this.form, 'specialtyid', '')
? ??
? ? if (!value) {
? ? ? this.specialtyList = []
? ? } else {
? ? ? this.GetspecialtynList(value)
? ? }
},解決辦法2:直接聲明specialtyid變量
另一種解決辦法,就是將specialtyid的值,直接寫到data里,el-select綁定值也直接使用specialtyid,而不是使用form.specialtyid,此時再清空specialtyid的值就可以直接賦值了
解決辦法3:給專業(yè)的el-select添加@change事件
? ? ? ? <el-select v-model="form.specialtyid" @change="specChange">
? ? ? ? ? ? <el-option
? ? ? ? ? ? ? v-for="item in specialtyList"
? ? ? ? ? ? ? :label="item.orgname"
? ? ? ? ? ? ? :key="item.orgid"
? ? ? ? ? ? ? :value="item.orgid"
? ? ? ? ? ? ></el-option>
? ? ? ? </el-select>
? ??
? ? ? ? specChange () {
? ? ? ? ? //強制刷新
? ? ? ? ? this.$forceUpdate()
? ? ? ? },以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
基于Vue+ElementUI的省市區(qū)地址選擇通用組件
這篇文章主要介紹了基于Vue+ElementUI的省市區(qū)地址選擇通用組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-11-11
Vue2.0實現調用攝像頭進行拍照功能 exif.js實現圖片上傳功能
這篇文章主要為大家詳細介紹了Vue2.0實現調用攝像頭進行拍照功能,以及圖片上傳功能引用exif.js,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-04-04
關于vue狀態(tài)過渡transition不起作用的原因解決
這篇文章主要介紹了關于vue狀態(tài)過渡transition不起作用的原因解決,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04

