激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

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快色| 久久经典国产视频 | 国产精品99久久久久久久女警 | 黑人一级片视频 | 国产 视频 一区二区 | 久成人 | 失禁高潮抽搐喷水h | 蜜桃网站在线 | 欧美日穴视频 | 欧美成人精品欧美一级乱黄 | 午夜色视频在线观看 | 91网站在线播放 | 久久综合九色 | 毛片成人网 | 成人做爰www免费看 欧美精品免费一区二区三区 | 国产亚洲精品成人a | 露脸各种姿势啪啪的清纯美女 | 欧美一级在线免费 | 91香蕉国产亚洲一区二区三区 | 国产一区二区精品91 | 亚洲综合一区在线观看 | 国产盼盼私拍福利视频99 | 一区二区精品视频在线观看 | 夜夜夜精品视频 | chinese军人gay呻吟 | 免费国产成人高清在线看软件 | 免费视频www在线观看 | 久久国产精品久久久久久久久久 | 亚洲一区在线免费视频 | 国内精品久久久久久久星辰影视 | free性欧美hd另类 | 亚洲第一页中文字幕 | 99国产精品国产免费观看 | 精品国产高清一区二区三区 | 4p一女两男做爰在线观看 | 欧美日韩亚洲国产 | av电影免费看 | 在线观看av国产一区二区 | 日本高清黄色片 | 88xx成人永久免费观看 | 三级国产三级在线 |