vue table解决分页不能筛选全部数据的问题
时间: 2023-10-10 20:10:55 浏览: 74
vue el-table前端 file-saver 导出excel可导出分页数据.zip
如果使用 vue table 组件时,分页后无法筛选全部数据的问题可以通过以下步骤来解决:
1. 在组件中设置 `:filter-method`,并将其指向一个自定义的方法,例如 `filterData`。
2. 在 `filterData` 方法中,先判断是否存在筛选关键字,如果存在,则筛选全部数据;否则,只筛选当前分页数据。
3. 最后将筛选后的数据返回。
代码示例:
```html
<template>
<div>
<el-table :data="tableData" :columns="tableColumns" :filter-method="filterData"></el-table>
</div>
</template>
<script>
export default {
data() {
return {
tableData: [], // 所有数据
pageData: [], // 当前分页数据
tableColumns: [], // 表头
filterKeyword: '', // 筛选关键字
};
},
methods: {
// 自定义筛选方法
filterData(value, row) {
if (this.filterKeyword) {
// 如果存在筛选关键字,则筛选全部数据
return Object.values(row).some((item) => {
return String(item).toLowerCase().indexOf(this.filterKeyword.toLowerCase()) > -1;
});
} else {
// 否则,只筛选当前分页数据
return this.pageData.includes(row);
}
},
},
mounted() {
// 获取所有数据,并初始化当前分页数据
this.tableData = [/* 所有数据 */];
this.pageData = this.tableData.slice(0, 10); // 假设每页显示10条数据
},
};
</script>
```
阅读全文