fix: table sorter

This commit is contained in:
jialin
2025-12-11 13:33:41 +08:00
parent 3328828da6
commit b38bc8a207
15 changed files with 106 additions and 23 deletions
+10 -4
View File
@@ -12,7 +12,6 @@ import { PageActionType } from '@/config/types';
import useBodyScroll from '@/hooks/use-body-scroll';
import useExpandedRowKeys from '@/hooks/use-expanded-row-keys';
import useTableRowSelection from '@/hooks/use-table-row-selection';
import useTableSort from '@/hooks/use-table-sort';
import NoResult from '@/pages/_components/no-result';
import PageBox from '@/pages/_components/page-box';
import { ListItem as WorkerListItem } from '@/pages/resources/config/types';
@@ -148,8 +147,12 @@ const Models: React.FC<ModelsProps> = ({
removeExpandedRowKey,
expandedRowKeys
} = useExpandedRowKeys(expandAtom);
const { sortOrder, setSortOrder } = useTableSort({
defaultSortOrder: 'descend'
const [sortOrder, setSortOrder] = useState<{
columnKey: string;
order: 'ascend' | 'descend' | null;
}>({
order: null,
columnKey: ''
});
const [apiAccessInfo, setAPIAccessInfo] = useState<any>({
@@ -216,7 +219,10 @@ const Models: React.FC<ModelsProps> = ({
};
const handleOnSort = (dataIndex: string, order: any) => {
setSortOrder(order);
setSortOrder({
columnKey: dataIndex,
order: order
});
};
const handleOnCell = useMemoizedFn(async (record: any, extra: any) => {
@@ -34,7 +34,10 @@ const setModelActionList = (record: any) => {
interface ModelsColumnsHookProps {
handleSelect: (val: string, record: ListItem) => void;
sortOrder: SortOrder;
sortOrder: {
columnKey: string;
order: SortOrder;
};
clusterList: Global.BaseOption<
number,
{ provider: string; state: string | number }
@@ -54,6 +57,11 @@ const useModelsColumns = ({
title: intl.formatMessage({ id: 'common.table.name' }),
dataIndex: 'name',
key: 'name',
sortOrder:
sortOrder.order && sortOrder.columnKey === 'name'
? sortOrder.order
: null,
sorter: false,
span: 5,
render: (text: string, record: ListItem) => (
<span className="flex-center" style={{ maxWidth: '100%' }}>
@@ -122,7 +130,10 @@ const useModelsColumns = ({
dataIndex: 'created_at',
key: 'created_at',
defaultSortOrder: 'descend',
sortOrder,
sortOrder:
sortOrder.order && sortOrder.columnKey === 'created_at'
? sortOrder.order
: null,
sorter: false,
span: 4,
render: (text: number) => (