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
vuex Module将 store 分割成模块的操作
Dec 07 Vue.js
vue 基于abstract 路由模式 实现页面内嵌的示例代码
Dec 14 Vue.js
Vue在H5 项目中使用融云进行实时个人单聊通讯
Dec 14 Vue.js
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
vue element和nuxt的使用技巧分享
Jan 14 Vue.js
vue3 watch和watchEffect的使用以及有哪些区别
Jan 26 Vue.js
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
vue实现倒计时功能
Mar 24 Vue.js
Vue如何实现组件间通信
May 15 Vue.js
vue打包时去掉所有的console.log
Apr 10 Vue.js
vue如何在data中引入图片的正确路径
Jun 05 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 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
PHP执行批量mysql语句的解决方法
2013/05/02 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
js中判断用户输入的值是否为空的简单实例
2013/12/23 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
使用Chrome调试JavaScript的断点设置和调试技巧
2014/12/16 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
JavaScript编码风格指南(中文版)
2016/08/26 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
jQuery使用unlock.js插件实现滑动解锁
2017/04/04 jQuery
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
浅谈React + Webpack 构建打包优化
2018/01/23 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
解决antd 表单设置默认值initialValue后验证失效的问题
2020/11/02 Javascript
原生JavaScript实现轮播图
2021/01/10 Javascript
[02:15]2015国际邀请赛选手档案IG.Ferrari 430
2015/07/30 DOTA
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python中的zip函数使用示例
2015/01/29 Python
python 重定向获取真实url的方法
2018/05/11 Python
实例讲解python中的协程
2018/10/08 Python
赫里福德的一家乡村零售商店:Philip Morris & Son
2017/06/25 全球购物
香港交友网站:be2香港
2018/07/22 全球购物
Java TransactionAPI (JTA) 主要包含几部分
2012/12/07 面试题
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
2012/06/27 面试题
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
军人违纪检讨书
2014/02/04 职场文书
上班迟到检讨书范文300字
2014/11/02 职场文书
2015年企业工作总结范文
2015/04/28 职场文书
2015年会计工作总结范文
2015/05/26 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书