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+elementUI动态增加表单项并添加验证的代码详解
Dec 17 Vue.js
Vue+penlayers实现多边形绘制及展示
Dec 24 Vue.js
Vue.extend 登录注册模态框的实现
Dec 29 Vue.js
Vue中的nextTick作用和几个简单的使用场景
Jan 25 Vue.js
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
vue3.0中使用element的完整步骤
Mar 04 Vue.js
Vue图片裁剪组件实例代码
Jul 02 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
SSM VUE Axios详解
Oct 05 Vue.js
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
vue里使用create, mounted调用方法
Apr 26 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中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
smarty自定义函数htmlcheckboxes用法实例
2015/01/22 PHP
php中curl使用指南
2015/02/05 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
JQUERY的属性选择符和自定义选择符使用方法(二)
2011/04/07 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
node.js中的events.EventEmitter.listenerCount方法使用说明
2014/12/08 Javascript
配置Grunt的Task时通配符支持和动态生成文件名问题
2015/09/06 Javascript
js编写当天简单日历效果【实现代码】
2016/05/03 Javascript
全面解析Bootstrap中scrollspy(滚动监听)的使用方法
2016/06/06 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
jquery ui sortable拖拽后保存位置
2017/04/27 jQuery
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
javascript获取select值的方法完整实例
2019/06/20 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
2020/11/05 Javascript
Python os模块介绍
2014/11/30 Python
Python基础入门之seed()方法的使用
2015/05/15 Python
python实现图片变亮或者变暗的方法
2015/06/01 Python
详解Python中heapq模块的用法
2016/06/28 Python
Python 搭建Web站点之Web服务器网关接口
2016/11/06 Python
Python标准库sched模块使用指南
2017/07/06 Python
Python yield与实现方法代码分析
2018/02/06 Python
python 接收处理外带的参数方法
2018/12/03 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
trivago美国:全球最大的酒店价格比较网站
2018/01/18 全球购物
2014年五一活动策划方案
2014/03/15 职场文书
合作意向书模板
2014/03/31 职场文书
师德师风建设方案
2014/05/08 职场文书
大学新生军训自我鉴定
2014/09/18 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
被告答辩状范文
2015/05/22 职场文书