亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

在Vue中使用Select選擇器拼接label的操作

瀏覽:108日期:2022-11-14 14:54:08

我就廢話不多說了,大家還是直接看代碼吧~

<el-form-item label='貨道商品' prop='productid'> <el-select v-model='form.productid' filterable placeholder='請(qǐng)選擇' @change='changeselect'> <el-option v-for='item in myproducts' :key='item.Id' :label='`${item.Name}/${item.Brand}/${item.Type}/${item.Spec}`' :value='item.Id'> </el-option> </el-select></el-form-item>

正常使用方法:

:label=“item.label”

多個(gè)字段拼接:

:label='${item.Name}/${item.Brand}/${item.Type}/${item.Spec}'

補(bǔ)充知識(shí):element el-select 動(dòng)態(tài)創(chuàng)建綁定屬性,視圖不更新之-連環(huán)填坑

項(xiàng)目需求是這樣的:

1. 在 a組件通過操作頁面,請(qǐng)求拿到需要的data,然后將數(shù)據(jù)存在vuex 中,數(shù)據(jù)結(jié)構(gòu)為多層嵌套結(jié)構(gòu)大概如下

ceshi:[ { values:[ { value:[ {id:1,label:’哈哈1’}, {id:2,label:’哈哈2’}, {id:3,label:’哈哈3’} ] }, { value:[ {id:4,label:’哈哈4’}, {id:5,label:’哈哈5’}, {id:6,label:’哈哈6’} ] } ] } ]

在組件中通過獲取vuex中的數(shù)據(jù)ceshi為數(shù)據(jù)源,

computed: { ...mapGetters([’ceshi’]) },

然后在b組件中動(dòng)態(tài)渲染數(shù)據(jù),因?yàn)槲倚枰獎(jiǎng)討B(tài)綁定屬性所以我在computed中創(chuàng)建動(dòng)態(tài)變量結(jié)構(gòu)

//數(shù)據(jù)渲染 <div v-for='(x1,index1) in ceshi' :key='index1+’1’'> <div v-for='(x2,index2) in x1.values' :key='index2+’2’'> <el-select placeholder='請(qǐng)選擇' v-model='form[index1].values[index2].value'> //動(dòng)態(tài)綁定屬性 <el-option v-for='item in x2.value' :key='item.id' :label='item.label' :value='item.id'> </el-option> </el-select> </div> </div>// computed: { ...mapGetters([’ceshi’]), form(){ return this.ceshi.map((val,index) => { let values = val.values.map((val,index) => { let json={value:''} return json }) let ojson = {values}; return ojson }) } }

發(fā)現(xiàn)數(shù)據(jù)綁定成功,選擇框變化數(shù)據(jù)也會(huì)變化,但是頁面不改變,視圖沒有更新,通過在select代碼中加入$set方法,也并沒有用,視圖同樣沒有更新;查看文檔發(fā)現(xiàn)發(fā)現(xiàn)computer默認(rèn)沒有雙向綁定 ,默認(rèn)為getter 需要自己寫setter函數(shù),但是我發(fā)現(xiàn),因?yàn)槲业膭?dòng)態(tài)數(shù)據(jù)是我通過vuex 中的數(shù)據(jù)得來的,我也并沒有定義其他的data,所以無法使用setter,于是進(jìn)行修改如下

data() { return { form:[] },created () { this.ceshi.forEach((val,index) => { let values = val.values.map((val,index) => { let json={value:''} return json }) let ojson = {values}; this.form.push(ojson) }) }

結(jié)果報(bào)錯(cuò),分析原因應(yīng)該是,我并沒有在a組件操作獲取數(shù)據(jù),但這個(gè)時(shí)候created函數(shù)運(yùn)行于是報(bào)錯(cuò)了,修改邏輯為通過watch 監(jiān)聽ceshi 數(shù)據(jù)變化

ceshi: { handler(newValue,oldValue) { this.ceshi.forEach((val,index) => { let values = val.values.map((val,index) => { let json={value:''} return json }) let ojson = {values}; this.form.push(ojson) }) }, deep: true }

再看效果,發(fā)現(xiàn)解決了,記錄如下,希望能幫助到您!

以上這篇在Vue中使用Select選擇器拼接label的操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Vue
相關(guān)文章:
主站蜘蛛池模板: 亚洲综合专区 | 久久一本久综合久久爱 | 午夜影院在线播放 | 深夜福利国产精品亚洲尤物 | 欧美成人亚洲国产精品 | 成人91视频 | 黄色大片视频在线观看 | 国产尤物精品视频 | 美日韩精品 | 亚洲国产精品免费观看 | 国内黄色一级片 | 国产一区二区福利 | 2021年韩国r级理论片在线观看 | 伊人久久青青 | 激情爱爱网 | 一级做a爰片性色毛片思念网 | 亚洲国产日韩在线人高清不卡 | 国内真实下药迷j在线观看 国内主播大秀福利视频在线看 | 亚洲欧美日韩综合二区三区 | 国产欧美视频一区二区三区 | 免费国产在线观看 | 青青热久免费精品视频在首页 | 国产动作大片中文字幕 | 免费国产99久久久香蕉 | 国产偷自拍视频 | 国产日韩欧美二区 | 伊人久久成人爱综合网 | 亚洲国产成人精品青青草原100 | 亚洲欧美日本国产 | 边做边摸边揉的免费视频 | 一级特黄录像实干片 | 一级视频免费观看 | 日本欧美高清 | 性做爰片免费视频毛片中文ilo | 片免费观看网站视频 | 午夜特级毛片 | 久久国产精品1区2区3区网页 | 亚洲自拍色 | 97视频在线免费观看 | 麻豆国产精品免费视频 | 久久视频精品53在线观看 |