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 插槽简介及使用示例
Nov 19 Vue.js
Vue3配置axios跨域实现过程解析
Nov 25 Vue.js
vue实现表格合并功能
Dec 01 Vue.js
vue3 watch和watchEffect的使用以及有哪些区别
Jan 26 Vue.js
Vue+Bootstrap实现简易学生管理系统
Feb 09 Vue.js
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
Mar 01 Vue.js
vue中三级导航的菜单权限控制
Mar 31 Vue.js
如何使用vue3打造一个物料库
May 08 Vue.js
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
May 18 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
vue判断按钮是否可以点击
Apr 09 Vue.js
解决vue中provide inject的响应式监听
Apr 19 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
深入array multisort排序原理的详解
2013/06/18 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
2018/04/20 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
JavaScript高级程序设计阅读笔记(十六) javascript检测浏览器和操作系统-detect.js
2012/08/14 Javascript
鼠标滑过出现预览的大图提示效果
2014/02/26 Javascript
js登录弹出层特效
2014/03/07 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
Json解析的方法小结
2016/06/22 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
2017/07/19 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
Angular父子组件通过服务传参的示例方法
2018/10/31 Javascript
微信公众号平台接口开发 获取微信服务器IP地址方法解析
2019/08/14 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
python使用正则表达式替换匹配成功的组并输出替换的次数
2017/11/22 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
Django实现学生管理系统
2019/02/26 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
selenium判断元素是否存在的两种方法小结
2020/12/07 Python
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
英国电子专家:maplin
2019/09/04 全球购物
总经理司机职责
2014/02/02 职场文书
阳光体育活动总结
2014/04/30 职场文书
工地安全标语
2014/06/07 职场文书
抗震救灾标语
2014/06/26 职场文书
离婚协议书应该怎么写
2014/10/12 职场文书
React列表栏及购物车组件使用详解
2021/06/28 Javascript