vue中怎样用elementul组件实现对表格的列控制
Admin 2022-09-13 群英技术资讯 986 次浏览
在这篇文章中,我们来学习一下“vue中怎样用elementul组件实现对表格的列控制”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。需求:后端返回全部列数据。前端根据选项来显示对应的列,如果不勾选,默认全部隐藏。
效果图
勾选后显示对应的列

上代码
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
}
})
}
}
},
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章小编给大家分享的是热重载的内容,一些朋友可能对于热重载不是很了解,对此下文介绍了热重载及使用Node.js如何实现热重载页面的方法,文中示例介绍的很详细,感兴趣的朋友可以了解看看,下面让我们一起来学习一下吧!
前言在直播中,创建房间,获取房间,都需要服务器,因此需要搭建Web服务器Web服务器能处理HTTP请求的服务器都可以叫Web服务器Node.js介绍Node.js什么时候出现,2009年,Ryan Dahl(瑞恩·达尔)在GitHub上发布了最初版本的部分Node.
这篇文章主要介绍了vue中echarts的用法及与elementui-select的协同绑定操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
本文实例为大家分享了Bootstrap table列上下移动效果的具体代码,供大家参考,具体内容如下排序1. 按钮排序点击排序按钮,页面的序号变为可点击的方向键,实现手动排序(第一行没有下
这篇文章介绍了Node.js实现链式回调的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008