---- 我在 ts 中,使用 antd Table 的 onChange 方法
//我把它的参数都取出来了,实际上我只想用到 sorter 参数
onChange={(
pagination: TablePaginationConfig,
filters: Record<string, FilterValue | null>,
sorter: SorterResult<DatabaseType> | SorterResult<DatabaseType>[],
extra: TableCurrentDataSource<DatabaseType>
) => {
handleTableChange(sorter);
}}
// 分页、过滤、排序改变时触发,我使用 sorter 发现 sorter?.field 、sorter?.order 都会类型报错
function handleTableChange(
sorter: SorterResult<DatabaseType> | SorterResult<DatabaseType>[]
) {
if (
sorter?.field &&
sorter?.order &&
(sorter.field !== params.sortField || sorter.order !== params.sortOrder)
) {
const sortField = sorter.field as string;
const sortOrder = sorter.order as string;
setParams((params: any) => ({
...params,
sortField: sortField,
sortOrder: sortOrder,
page: 1,
}));
}
}
//我把它的参数都取出来了,实际上我只想用到 sorter 参数
onChange={(
pagination: TablePaginationConfig,
filters: Record<string, FilterValue | null>,
sorter: SorterResult<DatabaseType> | SorterResult<DatabaseType>[],
extra: TableCurrentDataSource<DatabaseType>
) => {
handleTableChange(sorter);
}}
// 分页、过滤、排序改变时触发,我使用 sorter 发现 sorter?.field 、sorter?.order 都会类型报错
function handleTableChange(
sorter: SorterResult<DatabaseType> | SorterResult<DatabaseType>[]
) {
if (
sorter?.field &&
sorter?.order &&
(sorter.field !== params.sortField || sorter.order !== params.sortOrder)
) {
const sortField = sorter.field as string;
const sortOrder = sorter.order as string;
setParams((params: any) => ({
...params,
sortField: sortField,
sortOrder: sortOrder,
page: 1,
}));
}
}