el-table中表格筛选功能,filter-change怎么用
时间: 2024-09-19 22:10:47 浏览: 71
Vue filter 过滤器、以及在table中的使用介绍
在Element UI的`el-table`组件中,如果你想添加表格的筛选功能,可以使用`filter-method`属性配合`filter-change`事件。`filter-method`是一个自定义函数,用于处理用户输入的筛选条件,并返回过滤后的数据。`filter-change`事件则会在用户的筛选条件发生改变时触发。
以下是一个简单的例子:
```html
<template>
<el-table
:data="tableData"
:filters="filters"
filter-method="filterMethod"
@filter-change="handleFilterChange"
></el-table>
</template>
<script>
export default {
data() {
return {
tableData: ...,
filters: {}, // 筛选条件初始为空对象
};
},
methods: {
filterMethod(value, column) {
// 这里可以根据value(用户输入的筛选值)和column(列配置)动态生成过滤规则
let result = this.tableData; // 假设默认满足所有条件
if (value !== '') { // 如果用户输入了非空字符串
result = result.filter(item => item[column.dataIndex] === value); // 按照指定列的数据索引进行过滤
}
return result;
},
handleFilterChange(filters) {
// filters对象包含了用户当前的所有筛选条件
console.log('筛选条件变化:', filters);
// 可以在这里更新状态、请求后台数据等
},
},
};
</script>
```
在这个例子中,每当用户修改了筛选框的内容,`filter-change`事件就会被触发,你可以获取到最新的`filters`对象,并据此调整数据展示。
阅读全文