筛选列

<el-col :span="4">
<el-popover placement="bottom" title="筛选列" trigger="click" width="40">
<el-checkbox-group v-model="checkedColumns" size="mini">
<el-checkbox v-for="item in checkBoxGroup" :key="item" :label="item" :value="item"></el-checkbox>
</el-checkbox-group>
<div title="筛选列" class="filter-table-col" slot="reference"><i class="el-icon-c-scale-to-original"></i></div>
</el-popover>
</el-col>
date中的数据:

colData: [
{ title: "订单ID", istrue: true },
{ title: "订单编号", istrue: true },
{ title: "客户厂商", istrue: true },
{ title: "产品名称", istrue: true },
{ title: "联系人", istrue: true },
{ title: "负责人", istrue: true },
{ title: "下单时间", istrue: true },
{ title: "发票号码", istrue: true },
{ title: "开票时间", istrue: true },
{ title: "项目进度", istrue: true },
{ title: "采购员", istrue: true },
{ title: "产品单位", istrue: true },
{ title: "产品数量", istrue: true },
{ title: "未税", istrue: true },
{ title: "含税单价", istrue: true },
{ title: "营业额", istrue: true },
{ title: "交货状态", istrue: true },
{ title: "验收状态", istrue: true },
{ title: "订单状态", istrue: true },
{ title: "完成时间", istrue: true },
],

// 多选框的列表,列出表格的每一列
checkBoxGroup: ["订单ID", "订单编号", "客户厂商", "产品名称", "联系人", "负责人", "下单时间", "发票号码","开票时间","项目进度","采购员","产品单位","产品数量","未税","含税单价","营业额","交货状态","验收状态","订单状态","完成时间"],
// 当前选中的多选框,代表当前展示的列
checkedColumns: ["订单ID", "订单编号", "客户厂商", "产品名称", "联系人", "负责人", "下单时间", "发票号码","开票时间","项目进度","采购员","产品单位","产品数量","未税","含税单价","营业额","交货状态","验收状态","订单状态","完成时间"],

1679019822717.png

watch: {
checkedColumns(val) {
let arr = this.checkBoxGroup.filter(i => !val.includes(i));
this.colData.filter(i => {
if (arr.indexOf(i.title) != -1) {
i.istrue = false;
} else {
i.istrue = true;
}
});
this.reload = Math.random()
}
},

有点乱总结一下:
第一步加上<el-col 这个按钮 上面有复制一下就行
第二步在data中加上colData
第三步也是在data中加上checkBoxGroup和checkedColumns
最后一步加上显示watch 就欧克了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 因为项目需要,我们经常拉取完后台的列表数据发现,列表撑的很长,即使是使用了表格的流体宽度,还是有点多,而且看起来也...
    我的弟弟叫泥鳅阅读 1,124评论 0 2
  • ***利用右边的选项卡给左边选中数据设置对应的色值*** 下面是全部代码: <!DOCTYPE html> ...
    九下下阅读 1,924评论 0 1
  • 1 页面发布 1.1 技术方案 技术方案说明: 1、平台包括多个站点,页面归属不同的站点。 2、发布一个页面应将该...
    lww文阅读 470评论 0 0
  • VUE.js 基本命令v-if || v-for : 条件与循环v-model: 为页面输入框进行数据双向绑定v-...
    楼水流云阅读 666评论 0 0
  • Taro 是一套遵循React语法规范的多端开发解决方案,可以快速开发微信小程序,并且支持多端开发转化,喜欢Rea...
    buer一w阅读 2,006评论 0 0