欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年10月22日 14:32:41   作者:我只會寫B(tài)ug啊  
這篇文章主要介紹了在Vue中使用Select選擇器拼接label的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

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

 <el-form-item label="貨道商品" prop="productid">
          <el-select v-model="form.productid" filterable placeholder="請選擇" @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”

多個字段拼接:

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

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

項目需求是這樣的:

1. 在 a組件通過操作頁面,請求拿到需要的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組件中動態(tài)渲染數(shù)據(jù),因?yàn)槲倚枰獎討B(tài)綁定屬性所以我在computed中創(chuà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="請選擇" v-model="form[index1].values[index2].value"> //動態(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ù)也會變化,但是頁面不改變,視圖沒有更新,通過在select代碼中加入$set方法,也并沒有用,視圖同樣沒有更新;查看文檔發(fā)現(xiàn)發(fā)現(xiàn)computer默認(rèn)沒有雙向綁定 ,默認(rèn)為getter 需要自己寫setter函數(shù),但是我發(fā)現(xiàn),因?yàn)槲业膭討B(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é)果報錯,分析原因應(yīng)該是,我并沒有在a組件操作獲取數(shù)據(jù),但這個時候created函數(shù)運(yùn)行于是報錯了,修改邏輯為通過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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue +elementui 導(dǎo)入CSV文件的方式

    vue +elementui 導(dǎo)入CSV文件的方式

    封裝一個公共js方法,使用papaparse解析CSV文件且返回數(shù)組格式,下面通過示例代碼介紹vue +elementui 導(dǎo)入CSV文件的方式,感興趣的朋友一起看看吧
    2024-04-04
  • vue使用vuedraggable實(shí)現(xiàn)嵌套多層拖拽排序功能

    vue使用vuedraggable實(shí)現(xiàn)嵌套多層拖拽排序功能

    這篇文章主要為大家詳細(xì)介紹了vue使用vuedraggable實(shí)現(xiàn)嵌套多層拖拽排序功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue3超出文本展示el tooltip實(shí)現(xiàn)示例

    vue3超出文本展示el tooltip實(shí)現(xiàn)示例

    這篇文章主要為大家介紹了vue3超出文本展示el tooltip實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • VueX安裝及使用基礎(chǔ)教程

    VueX安裝及使用基礎(chǔ)教程

    這篇文章介紹了VueX安裝及使用基礎(chǔ)教程,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-01-01
  • Vue.js 中的異步組件是什么及使用異步組件的示例

    Vue.js 中的異步組件是什么及使用異步組件的示例

    異步組件是 Vue.js 中提高應(yīng)用程序性能和加載速度的重要功能之一,在使用異步組件時,需要注意組件的加載時間、錯誤處理和命名規(guī)范等問題,本文將介紹 Vue.js 中異步組件的概念、優(yōu)勢以及如何使用異步組件,感興趣的朋友一起看看吧
    2023-10-10
  • 解決elementUI 切換tab后 el_table 固定列下方多了一條線問題

    解決elementUI 切換tab后 el_table 固定列下方多了一條線問題

    這篇文章主要介紹了解決elementUI 切換tab后 el_table 固定列下方多了一條線問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • vue中自定義指令directive的詳細(xì)指南

    vue中自定義指令directive的詳細(xì)指南

    這篇文章主要給大家介紹了關(guān)于vue中自定義指令directive的相關(guān)資料,自定義指令解決的問題或者說使用場景是對普通 DOM 元素進(jìn)行底層操作,所以我們不能盲目的胡亂的使用自定義指令,需要的朋友可以參考下
    2021-09-09
  • 解決VUE3 keep-alive頁面切換報錯parentComponent.ctx.deactivate

    解決VUE3 keep-alive頁面切換報錯parentComponent.ctx.deactivate

    這篇文章主要介紹了解決VUE3 keep-alive頁面切換報錯parentComponent.ctx.deactivate is not a function的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue項目中使用TDesign的方法

    vue項目中使用TDesign的方法

    tdesign-vue是TDesign 適配桌面端的組件庫,適合在 vue 2 技術(shù)棧項目中使用,這篇文章主要介紹了vue項目中使用TDesign?,需要的朋友可以參考下
    2023-04-04
  • vue動態(tài)綁定v-model屬性名方式

    vue動態(tài)綁定v-model屬性名方式

    這篇文章主要介紹了vue動態(tài)綁定v-model屬性名方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論