From cc0580301e098cb7bb605969b9ffcb4e9208f5a4 Mon Sep 17 00:00:00 2001 From: jialin Date: Wed, 22 Oct 2025 14:26:21 +0800 Subject: [PATCH] fix: do not trigger evaluation after switching model --- .../llmodels/components/search-model.tsx | 2 +- src/pages/llmodels/forms/basic.tsx | 22 +++++++++++++++++-- .../llmodels/hooks/use-form-initial-values.ts | 12 ++-------- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/src/pages/llmodels/components/search-model.tsx b/src/pages/llmodels/components/search-model.tsx index 41b5d708..70e91fb6 100644 --- a/src/pages/llmodels/components/search-model.tsx +++ b/src/pages/llmodels/components/search-model.tsx @@ -320,7 +320,7 @@ const SearchModel: React.FC = (props) => { return { ...pre, loading: false, - repoOptions: resultList + dataList: resultList }; }); // current selected item diff --git a/src/pages/llmodels/forms/basic.tsx b/src/pages/llmodels/forms/basic.tsx index fded55af..f17174f5 100644 --- a/src/pages/llmodels/forms/basic.tsx +++ b/src/pages/llmodels/forms/basic.tsx @@ -1,8 +1,13 @@ import SealInput from '@/components/seal-form/seal-input'; import SealSelect from '@/components/seal-form/seal-select'; import useAppUtils from '@/hooks/use-app-utils'; +import { + ClusterStatusLabelMap, + ClusterStatusValueMap +} from '@/pages/cluster-management/config'; import { useIntl } from '@umijs/max'; import { Form } from 'antd'; +import { useMemo } from 'react'; import { sourceOptions } from '../config'; import { FormData } from '../config/types'; import CatalogFrom from './catalog'; @@ -13,7 +18,7 @@ interface BasicFormProps { fields?: string[]; sourceDisable?: boolean; sourceList?: Global.BaseOption[]; - clusterList: Global.BaseOption[]; + clusterList: Global.BaseOption[]; handleClusterChange: (value: number) => void; onSourceChange?: (value: string) => void; } @@ -35,6 +40,19 @@ const BasicForm: React.FC = (props) => { onSourceChange?.(val); }; + const clusterOptions = useMemo(() => { + return clusterList?.map((item) => { + return { + label: + item.state === ClusterStatusValueMap.Ready + ? item.label + : `${item.label} [${ClusterStatusLabelMap[item.state as string]}]`, + disabled: item.state !== ClusterStatusValueMap.Ready, + value: item.value + }; + }); + }, [clusterList]); + return ( <> @@ -93,7 +111,7 @@ const BasicForm: React.FC = (props) => { } diff --git a/src/pages/llmodels/hooks/use-form-initial-values.ts b/src/pages/llmodels/hooks/use-form-initial-values.ts index 6f25ec2d..229c1d5d 100644 --- a/src/pages/llmodels/hooks/use-form-initial-values.ts +++ b/src/pages/llmodels/hooks/use-form-initial-values.ts @@ -1,9 +1,5 @@ import { clusterListAtom } from '@/atoms/models'; import { queryClusterList } from '@/pages/cluster-management/apis'; -import { - ClusterStatusLabelMap, - ClusterStatusValueMap -} from '@/pages/cluster-management/config'; import { ClusterListItem } from '@/pages/cluster-management/config/types'; import { queryWorkersList } from '@/pages/resources/apis'; import { @@ -239,7 +235,7 @@ export default function useFormInitialValues() { const [, setClusterListAtom] = useAtom(clusterListAtom); const [clusterList, setClusterList] = useState< - Global.BaseOption[] + Global.BaseOption[] >([]); const getClusterList = async (): Promise[]> => { @@ -249,12 +245,8 @@ export default function useFormInitialValues() { perPage: 100 }); const list = response.items.map((item) => ({ - label: - item.state === ClusterStatusValueMap.Ready - ? item.name - : `${item.name} [${ClusterStatusLabelMap[item.state]}]`, + label: item.name, value: item.id, - disabled: item.state !== ClusterStatusValueMap.Ready, provider: item.provider as string, state: item.state }));