一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - vue.js - vue+element table表格實現動態列篩選的示例代碼

vue+element table表格實現動態列篩選的示例代碼

2021-12-31 16:29桌醬 vue.js

這篇文章主要介紹了vue+element table表格實現動態列篩選的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

需求:在用列表展示數據時,出現了很多項信息需要展示導致表格橫向特別長,展示就不夠明晰,用戶使用起來可能會覺得抓不住自己的重點。

設想實現:用戶手動選擇表格的列隱藏還是展示,并且記錄用戶選擇的狀態,在下次進入該時仍保留選擇的狀態。

效果圖如下:

原:

vue+element table表格實現動態列篩選的示例代碼

不需要的關掉默認的勾選:

vue+element table表格實現動態列篩選的示例代碼

實現代碼:
HTML部分就是用一個多選框組件展示列選項
v-if="colData[i].istrue"控制顯示隱藏,把列選項傳到checkbox里再綁定勾選事件。

?
1
2
3
4
5
6
<el-popover placement="right" title="列篩選" trigger="click" width="420">           
    <el-checkbox-group v-model="checkedColumns" size="mini">
        <el-checkbox v-for="item in checkBoxGroup" :key="item" :label="item" :value="item"></el-checkbox>
    </el-checkbox-group>
    <el-button slot="reference" type="primary" size="small" plain><i class="el-icon-arrow-down el-icon-menu" />列表項展示篩選</el-button>
</el-popover>
?
1
2
3
4
5
6
7
8
9
10
<el-table :data="attendanceList" @sort-change="sort" highlight-current-row :row-class-name="holidayRow" @selection-change="editAll" ref="multipleTable">
    <el-table-column type="selection" width="55" align="center"></el-table-column>
        <el-table-column label="員工基本信息">
        <el-table-column v-if="colData[0].istrue" align="center" prop="user_id" label="工號" width="80" fixed></el-table-column>
        <el-table-column v-if="colData[1].istrue" align="center" prop="name" label="姓名" width="80" fixed></el-table-column>
        <el-table-column v-if="colData[2].istrue" align="center" prop="age" label="年齡" width="60"></el-table-column>
        <el-table-column v-if="colData[3].istrue" align="center" prop="gender" label="性別" width="80"></el-table-column>
        <el-table-column v-if="colData[4].istrue" align="center" prop="department" label="部門名稱" width="100"></el-table-column>
    </el-table-column>
    ......

js 數據存放的data部分

?
1
2
3
4
5
6
7
8
9
10
//列表動態隱藏
 colData: [
   { title: "工號", istrue: true },
   { title: "姓名", istrue: true },
   { title: "年齡", istrue: true },
   { title: "性別", istrue: true },
   { title: "部門名稱", istrue: true },   
 ],
 checkBoxGroup: [],
 checkedColumns: [],

js 方法實現部分

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
created() {     
      // 列篩選
      this.colData.forEach((item, index) => {
        this.checkBoxGroup.push(item.title);
        this.checkedColumns.push(item.title);
      })
      this.checkedColumns = this.checkedColumns
      let UnData = localStorage.getItem(this.colTable)
      UnData = JSON.parse(UnData)
      if (UnData != null) {
        this.checkedColumns = this.checkedColumns.filter((item) => {
          return !UnData.includes(item)
        })
      }
    },
 // 監控列隱藏
 watch: {
   checkedColumns(val,value) {
     let arr = this.checkBoxGroup.filter(i => !val.includes(i)); // 未選中
     localStorage.setItem(this.colTable, JSON.stringify(arr))
     this.colData.filter(i => {
       if (arr.indexOf(i.title) != -1) {
         i.istrue = false;
       } else {
         i.istrue = true;
       }
     });
   }
 },

這樣就可以實現了,并且在刷新頁面等會記錄勾選情況,本來想加一個全選的選擇框,最后沒實現,先這樣用吧。但是肯定有更好的方法,以后優化了再更新~

到此這篇關于vue+element table表格實現動態列篩選的示例代碼的文章就介紹到這了,更多相關element table表格動態列篩選內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/m0_46538057/article/details/112480900

延伸 · 閱讀

精彩推薦
  • vue.js梳理一下vue中的生命周期

    梳理一下vue中的生命周期

    看過很多人講vue的生命周期,但總是被繞的云里霧里,尤其是自學的同學,可能js的基礎也不是太牢固,聽起來更是吃力,那我就已個人之淺見,以大白話...

    CRMEB技術團隊7992021-12-22
  • vue.jsVue中引入svg圖標的兩種方式

    Vue中引入svg圖標的兩種方式

    這篇文章主要給大家介紹了關于Vue中引入svg圖標的兩種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的...

    十里不故夢10222021-12-31
  • vue.js用vite搭建vue3應用的實現方法

    用vite搭建vue3應用的實現方法

    這篇文章主要介紹了用vite搭建vue3應用的實現方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下...

    Asiter7912022-01-22
  • vue.jsVue多選列表組件深入詳解

    Vue多選列表組件深入詳解

    這篇文章主要介紹了Vue多選列表組件深入詳解,這個是vue的基本組件,有需要的同學可以研究下...

    yukiwu6752022-01-25
  • vue.js詳解vue 表單綁定與組件

    詳解vue 表單綁定與組件

    這篇文章主要介紹了vue 表單綁定與組件的相關資料,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Latteitcjz6432022-02-12
  • vue.jsVue項目中實現帶參跳轉功能

    Vue項目中實現帶參跳轉功能

    最近做了一個手機端系統,其中遇到了父頁面需要攜帶參數跳轉至子頁面的問題,現已解決,下面分享一下實現過程,感興趣的朋友一起看看吧...

    YiluRen丶4302022-03-03
  • vue.jsVue2.x-使用防抖以及節流的示例

    Vue2.x-使用防抖以及節流的示例

    這篇文章主要介紹了Vue2.x-使用防抖以及節流的示例,幫助大家更好的理解和學習使用vue框架,感興趣的朋友可以了解下...

    Kyara6372022-01-25
  • vue.jsVue2.x 項目性能優化之代碼優化的實現

    Vue2.x 項目性能優化之代碼優化的實現

    這篇文章主要介紹了Vue2.x 項目性能優化之代碼優化的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋...

    優小U9632022-02-21
主站蜘蛛池模板: 美女视频91 | 日产精品卡一卡2卡三卡乱码工厂 | 精品视频免费在线 | 亚洲无限观看 | 日韩一区二区三区四区区区 | 99亚洲自拍| 福利一区在线观看 | www.俺去啦 | 大伊香蕉精品二区视频在线 | 久久99re8热在线播放 | 99久久国产综合精品女不卡 | 美女全身无遮挡 | 娇小异类videos | 色播导航| 激情三级hd中文字幕 | 双性总裁(h)| 欧美日韩一区二区三区久久 | 摸进老太婆的裤裆小说 | 美女和男生搞基 | 精品无码一区在线观看 | 色综合色狠狠天天久久婷婷基地 | 我将她侵犯1~6樱花动漫在线看 | 无码专区aaaaaa免费视频 | 性印度freehd| 91成人啪国产啪永久地址 | 久久91精品国产91久 | 亚洲国产精品一在线观看 | 午夜影院免费入口 | 挺进白嫩老师下面视频 | 免费观看一级特黄三大片视频 | 亚洲天堂影院 | 男男同志gaysxxx | 九九精品免视看国产成人 | 深夜激情网 | 亚洲+国产+图片 | 无码AV免费精品一区二区三区 | 波多野结衣之双方调教在线观看 | 狠狠搞视频 | 大色综合| 黑人巨大和日本娇小中出 | 国产一区二区免费视频 |