成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁技術文章
文章詳情頁

Vue select 綁定動態(tài)變量的實例講解

瀏覽:133日期:2022-11-14 13:43:51

概述

根據(jù)后臺的數(shù)據(jù)生成多個select,由于數(shù)據(jù)的數(shù)量不定,所以v-model綁定的變量名也不定。所以通過數(shù)據(jù)的id或者下標進行變量拼接。頁面能夠成功渲染,但是當進行下拉框的選值時,組件不刷新,選中的結果并沒有展示

Code

<div v-for='(item, index) in tagAllDate' :key='index'> <el-form-item :label='item.name'> <el-select v-model='editData[’line_’ + index]' multiple placeholder='請選擇' style='width: 100%;'> <el-option v-for='(itemO, o) in item.sub_list' :key='o' :label='itemO.name' :value='itemO.tag_id'></el-option> </el-select> </el-form-item> </div>

editdata是聲明的對象

editData:{},

由于我們需要進行變量的動態(tài)拼接,所以不能使用“對象.屬性”這種語法,使用中括號[]可以方便我們進行屬性名的動態(tài)拼接。因為屬性名并不能提前知道,所以editData中不能提前聲明變量。而這就是問題的關鍵所在。

問題

由于v-model綁定的值沒有聲明,所以組件渲染后,當進行下拉選擇時,選項的值并沒有顯示在組件中。但是輸出結果時,值已經(jīng)被選中了。也就是說,能夠選到值,但頁面上組件無響應。

如果假定我們拼接的id為[1,2,3] ,所以變量名為line_1, line_2, line_3 。在editData中依次聲明這些變量后,組件顯示正常。

結論

el-select組件需要綁定明確的變量,如果變量沒有提前聲明,則組件選擇時界面將會無響應。

解決方案

tagAll() { this.loading = true; tagAll().then(response => { if(response.ret == 0) { response.data.forEach( (item, index)=>{this.$set(this.editData, 'line_' + index, []) }); this.tagAllDate = response.data; } else { this.$message.error(response.res_info); } this.loading = false }) },

按照官方說明,在初始化的時候,會生成屬性的getter、setter。通過setter函數(shù)的調用,從而觸發(fā)組件更新。而直接賦值,并沒有setter函數(shù)的觸發(fā)。

另一個問題,

editData是動態(tài)的,里面的 line_ 也是動態(tài)的,如何去獲取這些信息呢

Vue select 綁定動態(tài)變量的實例講解

對象是editDate。但是里面的line_0 是動態(tài)創(chuàng)建的,就是說,editDate里面有多少的數(shù)據(jù)不知道,可能是:line_0 line_1 line_2 然后這些每一個都是數(shù)組,現(xiàn)在要拿到這些所有的數(shù)組里面的數(shù)據(jù)。

做法

首先循環(huán)這個對象拿到所有的Key的值,就是 line_0 line_1 這些key

for(var a in this.editData){ console.log(a);}

拿到key之后便可以直接根據(jù)動態(tài)的key拿到數(shù)組循環(huán)拿相應的值

for(var a in this.editData){ this.editData[a].forEach( (item, index) => { console.log(item) }); }

補充知識:vue-element-admin使用常見問題

一、vue-element-admin添加快捷導航

Vue select 綁定動態(tài)變量的實例講解

這個組件是基于vue-i18n因此,首先在項目中安裝i18n

npm install --save vue-i18n

然后main.js中引入

import i18n from ’./lang’ // Internationalization

然后注意src下邊lang文件夾的引入。之后在layout文件夾中,添加組件:tags-view 就可以了。

二、去掉Mock使用真實數(shù)據(jù)。

main.js中找到,mock的引入直接注釋掉,就好了。所有的接口請求都在 api 下邊

以上這篇Vue select 綁定動態(tài)變量的實例講解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Vue
相關文章:
主站蜘蛛池模板: 毛片高清一区二区三区 | 国产片在线天堂av | 男女牲高爱潮免费视频男女 | 在线播放国产一区二区三区 | 在线a人片免费观看国产 | 欧美视频www| 国产精品视频第一区二区三区 | 天堂最新版 | 亚洲综色 | 日韩 亚洲 制服 欧美 综合 | 久草在线免费资源 | 久草播放 | 欧美最大成人毛片视频网站 | 欧美亚洲国产人成aaa | 亚洲国产精品影院 | 18黄网站 | 久久免费视频在线 | 中文字幕乱码视频32 | 欧美一级特黄高清免费 | 99在线精品视频在线观看 | 日韩性片 | 欧美精品一区二区在线观看 | 午夜日b视频| 久草青青 | 日韩视频大全 | 日韩精品一区在线观看 | 国产 magnet| 日韩一级免费毛片 | 怡红院色视频在线 | 国产成人18黄网站免费 | 夜色www国产精品资源站 | 国产精品一区二区三区免费 | 欧美日韩视频二区三区 | 一区二区日韩欧美 | 午夜专区| 国产美女一区精品福利视频 | 国产精品制服 | 成人精品一级毛片 | 黄色三级视频在线播放 | 日韩一级片在线播放 | 国产一区二区三区在线观看视频 |