elementUI el-table表头中添加条件过滤(类似下拉框)

最近公司项目中有这样的需求,就是在el-table的表头中加入一个类似下拉框的筛选功能,如图所示:在这里插入图片描述
最开始的想法是使用自定义表头进行修改,后来在elementUI文档Table表格中看到有筛选的功能,在列中设置filters、filter-method属性即可开启该列的筛选,filters 是一个数组,filter-method是一个方法,它用于决定某些数据是否显示,会传入三个参数:value, row 和 column。文档中的相关代码:
在这里插入图片描述
在这里插入图片描述
但是,这样做之后就无法对所有的数据进行筛选。最终的解决方案就是将其与filter-change事件结合(该事件是写在el-table里面的),
html代码:

<el-table-column
	label="类型"
    prop="type"
    :filter-multiple="false"
    :column-key="'type'"
    :filters="filterStatus"
 >
 </el-table-column>

js代码:

data>>>>>>>>>>>>
filterStatus: [{text: '安全目标', value: '安全目标'}, {text: '管理内容', value: '管理内容'}],
listQuery: {
  curPage: 1,
  pageSize: 10,
  page: 1,
  type: undefined,
},
methods>>>>>>>>>>>
 filterChange(filters){
   if(filters.type){
     this.listQuery.type = filters.type[0]
   }
   this.getTableInfo(); // 通过接口获取数据的方法
 },

:filter-multiple="false"的目的是禁止筛选多个条件。
这样就可以实现想要的功能了
在这里插入图片描述

  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值