vue elementUI表格控制顯示隱藏對(duì)應(yīng)列的方法
本文實(shí)例為大家分享了vue elementUI表格控制顯示隱藏對(duì)應(yīng)列的具體代碼,供大家參考,具體內(nèi)容如下
需求:后端返回全部列數(shù)據(jù)。前端根據(jù)選項(xiàng)來(lái)顯示對(duì)應(yīng)的列,如果不勾選,默認(rèn)全部隱藏。
效果圖
勾選后顯示對(duì)應(yīng)的列

上代碼
html部分
這里用v-if來(lái)顯示隱藏,因?yàn)檫@個(gè)elementul組件的原因,v-show不生效,要用v-if
<el-table-column ? ? ? ? v-if="lists[0].ispass" ? ? ? ? ? label="Upper" ? ? ? ? ? prop="db28" ? ? ? ? ? show-overflow-tooltip ? ? ? ? ></el-table-column> ? ? ? ? <el-table-column ? ? ? ? v-if="lists[1].ispass" ? ? ? ? ? label="Lower" ? ? ? ? ? prop="db31" ? ? ? ? ? show-overflow-tooltip ? ? ? ? ></el-table-column> ? ? ? ? <el-table-column ? ? ? ? v-if="lists[2].ispass" ? ? ? ? ? label="UP+LOW" ? ? ? ? ? prop="db34" ? ? ? ? ? show-overflow-tooltip ? ? ? ? ></el-table-column> ? ? ? ? <el-table-column ? ? ? ? v-if="lists[3].ispass" ? ? ? ? ? label="Static" ? ? ? ? ? prop="db36" ? ? ? ? ? key="1" ? ? ? ? ? show-overflow-tooltip ? ? ? ? ></el-table-column> ? ? ? ? <el-table-column ? ? ? ? v-if="lists[4].ispass" ? ? ? ? ? label="LRO-T1 OA" ? ? ? ? ? min-width="90px" ? ? ? ? ? prop="db44" ? ? ? ? ? key="2" ? ? ? ? ? show-overflow-tooltip ? ? ? ? > </el-table-column>
data部分
ispass是用來(lái)控制顯示或隱藏的,label是用來(lái)判斷的。
lists:[
? ? ? ? ? {label:'Upper',ispass:false},
? ? ? ? ? {label:'Lower',ispass:false},
? ? ? ? ? {label:'UP+LO',ispass:false},
? ? ? ? ? {label:'Static',ispass:false},
? ? ? ? ? {label:'LRO-T1 OA',ispass:false},
? ? ? ? ? {label:'LRO-T2 OA',ispass:false},
? ? ? ? ? {label:'LRO-B1 OA',ispass:false},
? ? ? ? ? {label:'LRO-B2 OA',ispass:false},
? ? ? ? ? {label:'RRO-C OA',ispass:false},
? ? ? ? ? {label:'LRO-T1 Buige',ispass:false},
? ? ? ? ? {label:'LRO-T2 Buige',ispass:false},
? ? ? ? ? {label:'LRO-B1 Buige',ispass:false},
? ? ? ? ? {label:'LRO-B2 Buige',ispass:false},
? ? ? ? ? {label:'LRO-T1 Dent',ispass:false},
? ? ? ? ? {label:'LRO-T2 Dent',ispass:false},
? ? ? ? ? {label:'LRO-B1 Dent',ispass:false},
? ? ? ? ? {label:'LRO-B2 Dent',ispass:false},
? ? ? ? ],
? ? ? ? check:[
? ? ? ? "Upper",
? ? ? ? "Lower",
? ? ? ? "UP+LO",
? ? ? ? "Static",
? ? ? ? "LRO-T1 OA",
? ? ? ? "LRO-T2 OA",
? ? ? ? "LRO-B1 OA",
? ? ? ? "LRO-B2 OA",
? ? ? ? "RRO-C OA",
? ? ? ? "LRO-T1 Buige",
? ? ? ? "LRO-T2 Buige",
? ? ? ? "LRO-B1 Buige",
? ? ? ? "LRO-B2 Buige",
? ? ? ? "LRO-T1 Dent",
? ? ? ? "LRO-T2 Dent",
? ? ? ? "LRO-B1 Dent",
? ? ? ? "LRO-B2 Dent",
? ? ? ],
? ? ? checkList: [
? ? ? ],方法部分
直接用watch監(jiān)聽(tīng),復(fù)制就行。這里注意checkList和check
checkList:代表你多選框的默認(rèn)選中,我沒(méi)寫(xiě)就是默認(rèn)全不選
check:這個(gè)也要寫(xiě)和lists里的label一樣,用來(lái)判斷的。
watch:{
? ? ? checkList(newVal){
? ? ? ? ? ? if (newVal) {
? ? ? ? ? ? ? var arr = this.check.filter(i => newVal.indexOf(i) < 0) //未選中
? ? ? ? ? ? ? this.lists.map(i => {
? ? ? ? ? ? ? ? if (arr.indexOf(i.label) !== -1) {
? ? ? ? ? ? ? ? ? i.ispass = false
? ? ? ? ? ? ? ? } else {
? ? ? ? ? ? ? ? ? i.ispass = true
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? })
? ? ? ? ? ? }
? ? ? }
? ? },
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Vue2.4.0 $attrs與inheritAttrs的具體使用
這篇文章主要介紹了淺談Vue2.4.0 $attrs與inheritAttrs的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03
vue實(shí)現(xiàn)多個(gè)數(shù)組合并
這篇文章主要介紹了vue實(shí)現(xiàn)多個(gè)數(shù)組合并方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
vue項(xiàng)目使用高德地圖時(shí)報(bào)錯(cuò):AMap?is?not?defined解決辦法
這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目使用高德地圖時(shí)報(bào)錯(cuò):AMap?is?not?defined的解決辦法,"AMap is not defined"是一個(gè)錯(cuò)誤提示,意思是在代碼中沒(méi)有找到定義的AMap,需要的朋友可以參考下2023-12-12
HBuilder導(dǎo)入vue項(xiàng)目并通過(guò)域名訪問(wèn)的過(guò)程詳解
這篇文章主要介紹了HBuilder導(dǎo)入vue項(xiàng)目并通過(guò)域名訪問(wèn),一般情況下運(yùn)行vue項(xiàng)目需要安裝node.js,通過(guò)npm命令來(lái)安裝vue組件和運(yùn)行vue項(xiàng)目,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05
vue+node+socket io實(shí)現(xiàn)多人互動(dòng)并發(fā)布上線全流程
這篇文章主要介紹了vue+node+socket io實(shí)現(xiàn)多人互動(dòng)并發(fā)布上線全流程,本文給大家提到了socket.io相關(guān)用法概覽及開(kāi)發(fā)流程,需要的朋友可以參考下2021-09-09
vue2項(xiàng)目使用exceljs多表頭導(dǎo)出功能詳解
ExcelJS是一個(gè)用于在Node.js和瀏覽器中創(chuàng)建、讀取和修改Excel文件的強(qiáng)大JavaScript庫(kù),下面這篇文章主要給大家介紹了關(guān)于vue2項(xiàng)目使用exceljs多表頭導(dǎo)出功能的相關(guān)資料,需要的朋友可以參考下2024-05-05

