vue elementUI表格控制显示隐藏对应列的方法
本文实例为大家分享了vue elementUI表格控制显示隐藏对应列的具体代码,供大家参考,具体内容如下
需求:后端返回全部列数据。前端根据选项来显示对应的列,如果不勾选,默认全部隐藏。
效果图
勾选后显示对应的列
上代码
html部分
这里用v-if来显示隐藏,因为这个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是用来控制显示或隐藏的,label是用来判断的。
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监听,复制就行。这里注意checkList和check
checkList:代表你多选框的默认选中,我没写就是默认全不选
check:这个也要写和lists里的label一样,用来判断的。
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 } }) } } },
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
cordova+vue+webapp使用html5获取地理位置的方法
这篇文章主要介绍了2019-07-07解决vue无法加载文件D:\Program Files\nodejs\node_global\vue.ps1,
这篇文章主要给大家介绍了关于解决vue无法加载文件D:\Program Files\nodejs\node_global\vue.ps1,因为在此系统上禁止运行脚本的相关资料,这个报错是由于在系统上禁止运行脚本导致的,文中通过图文介绍的非常详细,需要的朋友可以参考下2024-01-01vue中使用Cesium加载shp文件、wms服务、WMTS服务问题
这篇文章主要介绍了vue中使用Cesium加载shp文件、wms服务、WMTS服务问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-05-05elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
小编最近遇到这样的需求,当点击一个按钮可以变换里面字的内容,刚开始还真是一头雾水,不知所措。仔细想想屡屡思绪,很容易的解决了。接下来通过本文给大家介绍elementUI Vue 单个按钮显示和隐藏的变换功能,需要的朋友可以参考下2018-09-09
最新评论