element表格过多隐藏功能

14 篇文章 1 订阅

在这里插入图片描述
在这里插入图片描述
这个表格因为字段过多出现的横向滚动条,我这里没有采用官网固定表头或者表尾。
在这里插入图片描述
选择用这些字段点击控制某些字段表格的显示隐藏

在这里插入图片描述
这里的列表选择后端给的接口

{"state":10001,"msg":"ok","data":{"编号":false,"合同编号":false,"对方单位":false,"合同名称":false,"签订日期":false,"合同金额":false,"支付情况":false,"支付完成时间":false,"对方联系人":false,"对方联系电话":false,"公司经办人":false,"公司经办人电话":false,"添加时间":false,"添加人":false,"应履行时间":false,"服务期结束时间":true,"实际履行时间":true,"应履行数量":true,"实际履行数量":true,"应履行金额":true,"实际履行金额":true,"合同数量":true},"dataList":[{"id":36,"name":"编号","state":false},{"id":37,"name":"合同编号","state":false},{"id":38,"name":"对方单位","state":false},{"id":39,"name":"合同名称","state":false},{"id":40,"name":"签订日期","state":false},{"id":41,"name":"合同金额","state":false},{"id":42,"name":"支付情况","state":false},{"id":43,"name":"支付完成时间","state":false},{"id":44,"name":"对方联系人","state":false},{"id":45,"name":"对方联系电话","state":false},{"id":46,"name":"公司经办人","state":false},{"id":47,"name":"公司经办人电话","state":false},{"id":48,"name":"添加时间","state":false},{"id":49,"name":"添加人","state":false},{"id":55,"name":"应履行时间","state":false},{"id":56,"name":"服务期结束时间","state":true},{"id":57,"name":"实际履行时间","state":true},{"id":58,"name":"应履行数量","state":true},{"id":59,"name":"实际履行数量","state":true},{"id":60,"name":"应履行金额","state":true},{"id":61,"name":"实际履行金额","state":true},{"id":62,"name":"合同数量","state":true}]}

其中对象用来循环显示,state用来进行初始化字段是显示还是隐藏

 <el-dropdown trigger="click" style="margin-left:10px">
                            <span class="el-dropdown-link">
                                显示字段<i class="el-icon-arrow-down el-icon--right"></i>
                            </span>
                            <el-dropdown-menu slot="dropdown">
                                <div class="chezj" style="padding:0 10px;">
                                    <el-checkbox v-for="(list,index) in SHowLsit" v-model="list.state" @change="dianshow(list,index)">{{list.name}}</el-checkbox>
                                </div>
                            </el-dropdown-menu>
                        </el-dropdown>

这里我用的是element的下来菜单和Checkbox 多选框

 dianshow(item, index) {
                    let that = this
                    axios.get('/111111113', {
                        params: {
                            action: '2222222o',
                            paras: JSON.stringify({
                                lanmu: 2,
                                id: item.id,
                                state: item.state == true ? 1 : 0,
                            })

                        }
                    })
                    .then(function (res) {
                        if (res.data.state == 10001) {
                            that.ShowIs[item.name] = item.state == true ? true : false;
                        }

                    })
                    .catch(function (err) {
                        console.log(err)
                    });

                },

这里是请求接口来改变显示隐藏,

在这里插入图片描述
v-if是根据给口提供的
在这里插入图片描述
true还是false来控制显示还是隐藏

在这里插入图片描述
这里是请求的接口获取的每个字段显示还是隐藏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值