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 22 Vue.js
Vue 的 v-model用法实例
Nov 23 Vue.js
vuex的数据渲染与修改浅析
Nov 26 Vue.js
vue 使用 sortable 实现 el-table 拖拽排序功能
Dec 26 Vue.js
Vue实现简易购物车页面
Dec 30 Vue.js
vue3自定义dialog、modal组件的方法
Jan 04 Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
关于vue中如何监听数组变化
Apr 28 Vue.js
vue如何批量引入组件、注册和使用详解
May 12 Vue.js
vue项目支付功能代码详解
Feb 18 Vue.js
详解Vue中$props、$attrs和$listeners的使用方法
Feb 18 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使用memcache存储session的详解
2013/06/25 PHP
2014年最新推荐的10款 PHP 开发框架
2014/08/01 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
2017/03/14 PHP
记录Yii2框架开发微信公众号遇到的问题及解决方法
2018/07/20 PHP
jQuery+.net实现浏览更多内容(改编php版本)
2013/03/28 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
微信js-sdk地理位置接口用法示例
2016/10/12 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
基于vue2实现上拉加载功能
2017/11/28 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
微信小程序实现多选功能
2018/11/04 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
Vue+Element UI+vue-quill-editor富文本编辑器及插入图片自定义
2019/08/20 Javascript
Python的randrange()方法使用教程
2015/05/15 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
Python 多线程的实例详解
2017/09/07 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
python从入门到精通 windows安装python图文教程
2019/05/18 Python
python中的decimal类型转换实例详解
2019/06/26 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
tensorflow之获取tensor的shape作为max_pool的ksize实例
2020/01/04 Python
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
越南电子产品购物网站:FPT Shop
2017/12/02 全球购物
英语专业毕业生求职简历的自我评价
2013/10/24 职场文书
快递业务员岗位职责
2014/01/06 职场文书
个人担保书范文
2014/05/20 职场文书
计算机系统管理员求职信
2014/06/20 职场文书
群众路线个人对照检查材料2014
2014/09/26 职场文书
思想道德自我评价2015
2015/03/09 职场文书
Css预编语言及区别详解
2021/04/25 HTML / CSS
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL
pytorch 如何使用amp进行混合精度训练
2021/05/24 Python