element-ui table 筛选后数量统计
时间: 2023-09-04 08:13:19 浏览: 239
要在element-ui表格中进行筛选后数量统计,可以使用以下步骤:
1. 在表格中添加一个自定义的统计行。可以使用element-ui的`slot-scope`和`render`函数来实现。
```html
<el-table :data="tableData" style="width: 100%">
<el-table-column prop="name" label="Name"></el-table-column>
<el-table-column prop="age" label="Age"></el-table-column>
<el-table-column prop="gender" label="Gender"></el-table-column>
<el-table-column label="Count">
<template slot-scope="scope">
{{ getCount(scope.$index) }}
</template>
</el-table-column>
</el-table>
```
2. 实现`getCount`方法来统计筛选后的数量。可以使用`$refs`来获取表格实例,然后使用`$refs.table.clearSelection()`来清除选择,然后使用`$refs.table.store.states`来获取筛选后的数据状态,然后使用`filterData`来获取筛选后的数据数组。最后使用`length`来获取数组长度。
```js
methods: {
getCount(index) {
// 获取表格实例
const table = this.$refs.table;
// 清除选择
table.clearSelection();
// 获取筛选后的数据状态
const states = table.store.states;
// 获取筛选后的数据数组
const filterData = states.filteredData;
// 统计数量
return filterData.length;
}
}
```
3. 现在,当用户进行筛选时,统计行将自动更新,显示筛选后的数量。
注意:如果您使用了`remote`模式来加载数据,那么您需要修改`getCount`方法来在服务器上进行筛选,然后从服务器返回数量。
阅读全文