vue elementUI表格控制对应列


Posted in Vue.js onApril 13, 2022

需求:后端返回全部列数据。前端根据选项来显示对应的列,如果不勾选,默认全部隐藏。

效果图

勾选后显示对应的列

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
                }
              })
            }
      }
    },

以上就是本文的全部内容。

Vue.js 相关文章推荐
vue基于Echarts的拖拽数据可视化功能实现
Dec 04 Vue.js
vue实现滚动鼠标滚轮切换页面
Dec 13 Vue.js
8个非常实用的Vue自定义指令
Dec 15 Vue.js
详解vue3中组件的非兼容变更
Mar 03 Vue.js
Vue CLI中模式与环境变量的深入详解
May 30 Vue.js
idea编译器vue缩进报错问题场景分析
Jul 04 Vue.js
vue使用Google Recaptcha验证的实现示例
Aug 23 Vue.js
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
前端vue+express实现文件的上传下载示例
Feb 18 Vue.js
解决vue中provide inject的响应式监听
Apr 19 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
vue项目打包后路由错误的解决方法
Apr 13 #Vue.js
vue的项目如何打包上线
vue2的 router在使用过程中遇到的一些问题
Apr 13 #Vue.js
vue+elementUI实现表格列的显示与隐藏
Apr 13 #Vue.js
如何优化vue打包文件过大
Apr 13 #Vue.js
使用vue判断当前环境是安卓还是IOS
Apr 12 #Vue.js
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 #Vue.js
You might like
在PHP中操作Excel实例代码
2010/04/29 PHP
深入for,while,foreach遍历时间比较的详解
2013/06/08 PHP
php处理json格式数据经典案例总结
2016/05/19 PHP
PHP addcslashes()函数讲解
2019/02/03 PHP
屏蔽鼠标右键、Ctrl+n、shift+F10、F5刷新、退格键 的javascript代码
2007/04/01 Javascript
js同时按下两个方向键
2007/12/01 Javascript
学习并汇集javascript匿名函数
2010/11/25 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
javascript检测是否联网的实现代码
2014/09/28 Javascript
jQuery中die()方法用法实例
2015/01/19 Javascript
基于JavaScript实现简单的随机抽奖小程序
2016/01/05 Javascript
JavaScript编写页面半透明遮罩效果的简单示例
2016/05/09 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
2016/08/05 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
vue2.0结合Element实现select动态控制input禁用实例
2017/05/12 Javascript
JS实现留言板功能
2017/06/17 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
Python中datetime常用时间处理方法
2015/06/15 Python
python分批定量读取文件内容,输出到不同文件中的方法
2018/12/08 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
python常用排序算法的实现代码
2019/11/08 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
使用sklearn对多分类的每个类别进行指标评价操作
2020/06/11 Python
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
英国山地公路自行车商店:Tweeks Cycles
2018/03/16 全球购物
经贸日语专业个人求职信
2013/12/13 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
优秀管理者事迹材料
2014/05/22 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
实习科室评语
2015/01/04 职场文书
运动会通讯稿600字
2015/07/20 职场文书
董事长秘书工作总结
2015/08/14 职场文书