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

el-element中el-table表格嵌套el-select實(shí)現(xiàn)動(dòng)態(tài)選擇對(duì)應(yīng)值功能

 更新時(shí)間:2023年01月15日 14:46:33   作者:咩咩可以很溫柔  
這篇文章主要給大家介紹了關(guān)于el-element中el-table表格嵌套el-select實(shí)現(xiàn)動(dòng)態(tài)選擇對(duì)應(yīng)值功能的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

先看問(wèn)題還原圖:

問(wèn)題描述:

小編在做需求時(shí),遇到了在el-table表格中加入多條數(shù)據(jù),并且每條數(shù)據(jù)要通過(guò)el-select來(lái)選取相應(yīng)的值,做到動(dòng)態(tài)選擇。

解決方法:

思路:

  • 最開(kāi)始,小編的實(shí)現(xiàn)效果是左邊紅色框的效果,選擇其中一個(gè)時(shí),其他的也對(duì)應(yīng)賦值。
  • 主要是因?yàn)閑l-option的選項(xiàng)都是相同的,v-model 的值也是相同的。
  • 那讓每一條 v-model 的值不同不就好了么??!

代碼:

html中代碼:

<el-table-column label="文檔類(lèi)別" prop="categoryName">
  <template slot-scope="scope">
    <el-select
      :ref="'categoryName' + scope.$index"
      v-model="tableData[scope.$index]['categoryName']"
      placeholder="請(qǐng)選擇文檔類(lèi)別"
      clearable
    >
      <el-option :value="tableData[scope.$index]['categoryName']" style="height: auto">
        <el-tree
          :ref="'categoryNameTree' + scope.$index"
          :data="typeList"
          node-key="id"
          :props="typeTreeProps"
          @node-click="getTypeList(scope.$index)"
        >
          <span slot-scope="{ node }">{{ node.label }}</span>
        </el-tree>
      </el-option>
    </el-select>
  </template>
</el-table-column>

 代碼解說(shuō): 

在 < el-table > 中綁定數(shù)據(jù) :data="tableData"  tableData 為數(shù)組
el-select中

  1. scope.$index  -----  為tableData中每條數(shù)據(jù)的下標(biāo)
  2. :ref="'categoryName' + scope.$index"  -----  設(shè)置 ref ,用戶選擇完值后 el-option 自動(dòng)隱藏
  3. v-model="tableData[scope.$index]['categoryName']"  -----  綁定動(dòng)態(tài)的 v-model ,很重要。要注意的是 tableData[scope.$index] 是通過(guò)下標(biāo)找當(dāng)數(shù)組tableData中當(dāng)前選擇的數(shù)據(jù)。而這個(gè) categoryName 參數(shù)必須是數(shù)組 tableData 中存在的。

el-option中

  • :value="tableData[scope.$index]['categoryName']"  -----  與 v-model 相同,綁定動(dòng)態(tài)值

el-tree中

:ref="'categoryNameTree' + scope.$index"  -----  與 el-select 中 ref 相同
@node-click="getTypeList(scope.$index)"  -----  選擇數(shù)據(jù)時(shí)觸發(fā),傳當(dāng)前元素的下標(biāo)

data中:

data() {
   return {
     tableData: []  // 接口返回的數(shù)據(jù),:data綁定在el-table中 
     typeList: [], // 接口返回的數(shù)據(jù),展現(xiàn)在el-option中,用el-tree包裹
     typeTreeProps: {
       children: 'children',
       label: 'name'
     },
     categoryName: ''
   }
 }

methods中:

getTypeList(index) {
   // .getCurrentKey()獲取到當(dāng)前要選擇節(jié)點(diǎn)的key值
   // 使用此方法必須設(shè)置 node-key 屬性,若沒(méi)有節(jié)點(diǎn)被選中則返回 null
  const nodeId = this.$refs['categoryNameTree' + index].getCurrentKey()
   // .getNode(nodeId) 根據(jù) data 或者 key 拿到 Tree 組件中的 node
  const node = this.$refs['categoryNameTree' + index].getNode(nodeId)
   // 根據(jù)index給當(dāng)前元素的categoryName參數(shù)賦值
  this.$set(this.tableData[index], 'categoryName', node.label)
  this.$set(this.tableData[index], 'categoryNo', node.data.docTypeNo)
   // 此時(shí)頁(yè)面上已經(jīng)可以動(dòng)態(tài)選擇
   // 這一步是通過(guò)判斷當(dāng)前元素的v-model是否有值來(lái)控制el-option是否隱藏
  if (this.tableData[index].categoryName) {
     // .blur()用來(lái)隱藏當(dāng)前展開(kāi)的下拉選擇框
    this.$refs['categoryName' + index].blur()
  }
},

this.$refs['categoryName' + index] 設(shè)置動(dòng)態(tài)是因?yàn)?,在有多條數(shù)據(jù)時(shí),如果不是動(dòng)態(tài)的,但凡有沒(méi)有值的選擇框,就不會(huì)觸發(fā)。而這樣就可以通過(guò)index來(lái)判斷隱藏那條元素。

總結(jié):

遇到新的問(wèn)題就會(huì)有新的知識(shí)增加,其實(shí)入職后有很多很多值得學(xué)習(xí),并且記住的知識(shí),但都因年底的原因,項(xiàng)目要保證封版后bug都解決掉而忙忘掉,翻回來(lái)去想記錄的時(shí)候又不從下手。

到此這篇關(guān)于el-element中el-table表格嵌套el-select實(shí)現(xiàn)動(dòng)態(tài)選擇對(duì)應(yīng)值功能的文章就介紹到這了,更多相關(guān)el-table表格動(dòng)態(tài)選擇對(duì)應(yīng)值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • js數(shù)組的 entries() 獲取迭代方法

    js數(shù)組的 entries() 獲取迭代方法

    這篇文章主要介紹了js數(shù)組的 entries() 獲取迭代方法,entries() 方法返回一個(gè)數(shù)組的迭代對(duì)象,該對(duì)象包含數(shù)組的鍵值對(duì) (key/value)。下面來(lái)詳細(xì)介紹該neural,需要的朋友可以參考一下
    2021-10-10
  • ElementUI下拉組件el-select一次從后端獲取選項(xiàng)并設(shè)置默認(rèn)值方式

    ElementUI下拉組件el-select一次從后端獲取選項(xiàng)并設(shè)置默認(rèn)值方式

    這篇文章主要介紹了ElementUI下拉組件el-select一次從后端獲取選項(xiàng)并設(shè)置默認(rèn)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • 遇到vue前端npm?i報(bào)錯(cuò)多個(gè)版本不一致問(wèn)題及解決

    遇到vue前端npm?i報(bào)錯(cuò)多個(gè)版本不一致問(wèn)題及解決

    這篇文章主要介紹了遇到vue前端npm?i報(bào)錯(cuò)多個(gè)版本不一致問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue-cli3簡(jiǎn)單使用(圖文步驟)

    Vue-cli3簡(jiǎn)單使用(圖文步驟)

    這篇文章主要介紹了Vue-cli3簡(jiǎn)單使用(圖文步驟),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-04-04
  • element-ui?tree?異步樹(shù)實(shí)現(xiàn)勾選自動(dòng)展開(kāi)、指定展開(kāi)、指定勾選功能

    element-ui?tree?異步樹(shù)實(shí)現(xiàn)勾選自動(dòng)展開(kāi)、指定展開(kāi)、指定勾選功能

    這篇文章主要介紹了element-ui?tree?異步樹(shù)實(shí)現(xiàn)勾選自動(dòng)展開(kāi)、指定展開(kāi)、指定勾選,項(xiàng)目中用到了vue的element-ui框架,用到了el-tree組件,由于數(shù)據(jù)量很大,使用了數(shù)據(jù)懶加載模式,即異步樹(shù),需要的朋友可以參考下
    2022-08-08
  • vue中的proxyTable反向代理(親測(cè)有用)

    vue中的proxyTable反向代理(親測(cè)有用)

    這篇文章主要介紹了vue中的proxyTable反向代理(親測(cè)有用),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • vue-plugin-hiprint 詳細(xì)使用

    vue-plugin-hiprint 詳細(xì)使用

    這篇文章主要介紹了vue-plugin-hiprint 詳細(xì)使用說(shuō)明,使用Vue.Draggable庫(kù)構(gòu)建可拖拽元素的示例,你可以根據(jù)具體需求和技術(shù)選型選擇適合的庫(kù)或方法來(lái)實(shí)現(xiàn)可拖拽元素的功能,需要的朋友可以參考下
    2023-08-08
  • vue 點(diǎn)擊按鈕增加一行的方法

    vue 點(diǎn)擊按鈕增加一行的方法

    今天小編就為大家分享一篇vue 點(diǎn)擊按鈕增加一行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-09-09
  • vite前端構(gòu)建Turborepo高性能monorepo方案

    vite前端構(gòu)建Turborepo高性能monorepo方案

    這篇文章主要為大家介紹了vite前端構(gòu)建Turborepo高性能monorepo方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Vue網(wǎng)絡(luò)請(qǐng)求的三種實(shí)現(xiàn)方式介紹

    Vue網(wǎng)絡(luò)請(qǐng)求的三種實(shí)現(xiàn)方式介紹

    這篇文章主要介紹了Vue網(wǎng)絡(luò)請(qǐng)求的三種實(shí)現(xiàn)方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-09-09

最新評(píng)論