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通过阿里云oss的url连接直接下载文件并修改文件名的方法
Dec 25 Vue.js
Vue中ref和$refs的介绍以及使用方法示例
Jan 11 Vue.js
Vue实现图书管理案例
Jan 20 Vue.js
vue常用高阶函数及综合实例
Feb 25 Vue.js
vue-router懒加载的3种方式汇总
Feb 28 Vue.js
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
Mar 01 Vue.js
vue实现拖拽进度条
Mar 01 Vue.js
Vue-Element-Admin集成自己的接口实现登录跳转
Jun 23 Vue.js
详解Vue router路由
Nov 20 Vue.js
详解Vue slot插槽
Nov 20 Vue.js
Vue中使用import进行路由懒加载的原理分析
Apr 01 Vue.js
Vue OpenLayer 为地图绘制风场效果
Apr 24 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
967 个函式
2006/10/09 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
PHP判断数据库中的记录是否存在的方法
2014/11/14 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
Jquery提交表单 Form.js官方插件介绍
2012/03/01 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
js与jquery获取父元素,删除子元素的两种不同方法
2014/01/09 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
微信小程序显示下拉列表功能【附源码下载】
2017/12/12 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
JavaScript(js)处理的HTML事件、键盘事件、鼠标事件简单示例
2019/11/19 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
[01:06]DOTA2隆重推出2016冬季勇士令状 内含上海特级锦标赛互动指南
2016/02/17 DOTA
python fabric使用笔记
2015/05/09 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
python 随机数使用方法,推导以及字符串,双色球小程序实例
2017/09/12 Python
Python实现的朴素贝叶斯算法经典示例【测试可用】
2018/06/13 Python
Django实现学生管理系统
2019/02/26 Python
pyqt5实现登录界面的模板
2020/05/30 Python
详解Python中的编码问题(encoding与decode、str与bytes)
2020/09/30 Python
相亲大会策划方案
2014/06/05 职场文书
教育局党的群众路线教育实践活动整改方案
2014/09/20 职场文书
高中政治教学反思
2016/02/23 职场文书
2016年综治宣传月活动宣传标语口号
2016/03/16 职场文书
Python Pandas模块实现数据的统计分析的方法
2021/06/24 Python
MySQL 开窗函数
2022/02/15 MySQL
Python图像处理库PIL详细使用说明
2022/04/06 Python