特にプロジェクトとテーブル要素にAnt Designライブラリを使用しています。
問題は、ソーターとフィルターを最初のページ付けされたページだけでなく、テーブル全体で機能させる方法ですか?
バックエンドメソッドの作成はプロジェクトに適していないため、フロントエンドソリューションを探しています。
export default class BookTable extends React.PureComponent<BooksTableProps>
{
private readonly columns: ColumnProps<Book>[] = [
{
title: 'Name',
dataIndex: 'name',
key: 'name',
defaultSortOrder: 'descend',
sorter: (a, b) => {return a.name.localeCompare(b.name)},
render: (text, record) => <span>{record.name}</span>,
},...
]
render() {
const {
loading,
pagination,
books,
} = this.props;
return (
<div>
<Table
bordered
columns={this.columns}
dataSource={books}
loading={loading}
pagination={pagination}
onChange={this.handleTableChange}
/>
</div>
)
}
}
そのまま使用できます。 sorter
を定義すると、すべてのdataSource
に使用されます。したがって、ソートされた列をクリックすると、すべてのデータがソートされます。
あまり明白ではありませんが、 この例 をご覧ください。 age
で並べ替えると、テーブルデータ全体が並べ替えられます。