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

Vue2 Element el-table多選表格控制選取的思路解讀

 更新時間:2023年07月25日 10:35:50   作者:白瑕  
這篇文章主要介紹了Vue2 Element el-table多選表格控制選取的思路解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

前言

構(gòu)建多選表格, 實(shí)現(xiàn)對監(jiān)聽選取狀況, 獲取當(dāng)前選中項(xiàng)行數(shù)據(jù), 獲取當(dāng)前所有選中項(xiàng).

一、構(gòu)建多選表格

構(gòu)建DOM結(jié)構(gòu), 在表格el-table內(nèi)加一個特殊列即可, 將列類型type屬性設(shè)置為selection.

<el-table-column type="selection">
</el-table-column>

注意如果使用v-for指令生成表格, 不要將上面這段代碼直接加在v-for里, 不然每行旁邊都有一個選項(xiàng)列, 肯定是要分開的, 但是怎么分開的同時不拆表呢.

剛開始我嘗試過這種方案, 使用一個div將需要遍歷生成的列包裹, 在divv-for遍歷, 但el-table仍然是基于HTML表格的封裝, 這就像往原生HTML表格的列外面套了div, 會直接破壞表格結(jié)構(gòu).

我差點(diǎn)就忘了這是Vue2…直接把div換成<template></template>就好.

<el-table-column type="selection" width="55">
</el-table-column>
  <template v-for="(item, index) in billTableEvent">
    <el-table-column
      :prop="item.props"
      :label="item.label"
      :align="item.align"
      :min-width="item.minwidth"
      v-if="item.props === 'payAmt'"
      :key="index"
    >
      <template slot-scope="scope">
        {{ scope.row.payAmt }}
      </template>
    </el-table-column>
    <el-table-column
      :prop="item.props"
      :label="item.label"
      :align="item.align"
      :min-width="item.minWidth"
      :key="index"
      v-else
    >
  </el-table-column>
</template>

二、多選表的事件、方法

剛開始的時候, 我覺得要是將el-table提供的方法作為事件處理函數(shù), 那我豈不是可以同時操作一堆表格參數(shù), 會更簡單些?

然后根本拿不到值…

如果將el-table的方法直接作為事件處理函數(shù), 那么該事件處理函數(shù)會被直接判定為一個普通的事件處理函數(shù), 并不能發(fā)揮到其應(yīng)有的作用, 應(yīng)當(dāng)通過事件拿到el-table相關(guān)參數(shù), 然后在合適的地方調(diào)用el-table提供的方法來協(xié)助達(dá)成目的.

獲取參數(shù)例:

在這里插入圖片描述

在這里插入圖片描述

methods: {
  handleSelectChange(selection) {
    this.multipleSelection = selection;
    console.log(selection); // [{...}, {...}]
  },
  handleSelectAll(selection) {
    console.log(this.multipleSelection);
    console.log(selection); // [{...}, {...}]
  },
},

el-table的事件處理函數(shù)內(nèi)除了可以使用事件本身攜帶的參數(shù), 還可以使用el-table的方法, 事實(shí)上這些el-table提供的方法可以在各種能調(diào)用函數(shù)的地方被調(diào)用, 并且它們各自接收固定的值作為參數(shù),

舉例官方的例子, 在表格外調(diào)用toggleSelection:

在這里插入圖片描述

但由于使用這些方法需要接收固定的參數(shù), 在el-table的事件處理函數(shù)里調(diào)用它們可能會更方便一些.

<div id="empty">
  <el-table
    ref="tableEBBA020M"
    :data="billData"
    @row-click="rowClick"
    @selection-change="handleSelectChange"
  >
    <el-table-column
      v-for="(item, index) in billTableEvent"
      :prop="item.props"
      :label="item.label"
      :align="item.align"
      :min-width="item.minwidth"
      v-if="item.props === 'payAmt'"
      :key="index"
    >
      <template slot-scope="scope">
        {{ scope.row.payAmt }}
      </template>
    </el-table-column>
  </el-table>
</div>

然后自己起一個事件處理函數(shù)名(額…至少要和事件相關(guān)), 在這個事件處理函數(shù)里面調(diào)用el-table的方法.

methods: {
  rowClick(row) { // 單選
    this.$refs.tableEBBA020M.toggleRowSelection(row);
  },
}

不需要去考慮太復(fù)雜的事情, 比如設(shè)立一個變量每次選中就+1偶數(shù)時選中奇數(shù)取消什么的(已經(jīng)開始難受了), 這些細(xì)化的事情Element已經(jīng)幫忙做好了, 完成后會直接把結(jié)果給你, 也就是事件所攜帶的各種參數(shù).

利用上面的方法拿到el-tableselectionrow, 配合一些數(shù)組方法就已經(jīng)可以完成大多數(shù)的多選表格控制.

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue infinite update loop的問題解決

    Vue infinite update loop的問題解決

    這篇文章主要介紹了Vue "...infinite update loop..."的問題解決,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-04-04
  • vue-pdf實(shí)現(xiàn)文件在線預(yù)覽

    vue-pdf實(shí)現(xiàn)文件在線預(yù)覽

    這篇文章主要為大家詳細(xì)介紹了vue-pdf實(shí)現(xiàn)文件在線預(yù)覽,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue設(shè)置路由title,但刷新頁面時title失效的解決

    vue設(shè)置路由title,但刷新頁面時title失效的解決

    這篇文章主要介紹了vue設(shè)置路由title,但刷新頁面時title失效的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • vue-cli-service serve報錯error:0308010C:digital envelope routines::unsupported

    vue-cli-service serve報錯error:0308010C:digital enve

    這篇文章主要介紹了vue-cli-service serve報錯error:0308010C:digital envelope routines::unsupported的解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • 使用Vue+ElementUI動態(tài)生成面包屑導(dǎo)航教程

    使用Vue+ElementUI動態(tài)生成面包屑導(dǎo)航教程

    Vue和ElementUI都是非常流行的前端開發(fā)框架,它們可以讓我們更加便捷地開發(fā)前端應(yīng)用,下面這篇文章主要給大家介紹了關(guān)于使用Vue+ElementUI動態(tài)生成面包屑導(dǎo)航的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • Vuex 命名空間 namespaced的使用

    Vuex 命名空間 namespaced的使用

    本文主要介紹了Vuex 命名空間 namespaced的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • nextTick能否獲取到最新dom原理解析

    nextTick能否獲取到最新dom原理解析

    這篇文章主要為大家介紹了nextTick能否獲取到最新dom原理解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • vue登錄頁實(shí)現(xiàn)使用cookie記住7天密碼功能的方法

    vue登錄頁實(shí)現(xiàn)使用cookie記住7天密碼功能的方法

    這篇文章主要介紹了vue登錄頁實(shí)現(xiàn)使用cookie記住7天密碼功能的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • elementUI同一頁面展示多個Dialog的實(shí)現(xiàn)

    elementUI同一頁面展示多個Dialog的實(shí)現(xiàn)

    這篇文章主要介紹了elementUI同一頁面展示多個Dialog的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • vue3中Fragment特性的一個bug需要注意事項(xiàng)

    vue3中Fragment特性的一個bug需要注意事項(xiàng)

    這篇文章主要介紹了vue3中Fragment特性的一個bug,需要留意的注意事項(xiàng)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01

最新評論