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

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


 

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"的目的是禁止筛选多个条件。
这样就可以实现想要的功能了
elementUI el-table表头中添加条件过滤(类似下拉框)_第1张图片

你可能感兴趣的:(Vue,elementUI)