ant design vue3的table栏目筛选怎么写
时间: 2023-09-11 12:12:07 浏览: 97
在 Ant Design Vue3 中,你可以使用 `a-table` 组件的 `filters` 属性来实现表格栏目筛选。具体步骤如下:
1. 在 `columns` 中定义需要筛选的栏目,并设置 `filters` 属性为一个数组,其中每个元素代表一个筛选项,包括 `text` 和 `value` 两个属性。例如:
```javascript
const columns = [
{
title: '姓名',
dataIndex: 'name',
filters: [
{ text: '张三', value: '张三' },
{ text: '李四', value: '李四' },
{ text: '王五', value: '王五' },
],
},
// 其他栏目
];
```
2. 在 `a-table` 中设置 `filter-multiple` 属性为 `false`,表示只能选中一个筛选项:
```html
<a-table :columns="columns" :data-source="dataSource" :filter-multiple="false"></a-table>
```
3. 在 `a-table` 中监听 `filter-change` 事件,获取当前筛选项的值,并根据值过滤数据源:
```html
<a-table :columns="columns" :data-source="dataSource" :filter-multiple="false" @filter-change="handleFilterChange"></a-table>
```
```javascript
export default {
// 其他代码
methods: {
handleFilterChange(filters) {
// filters 是一个对象,键为栏目的 dataIndex,值为选中的筛选项的 value
const filteredDataSource = this.dataSource.filter(item => {
return item.name === filters.name;
});
// 更新数据源
this.dataSource = filteredDataSource;
},
},
};
```
以上是一个简单的例子,你可以根据自己的需求进行修改。
阅读全文