From 642ac3ebc47eb734f6057813f5b7bb17f66d1cb9 Mon Sep 17 00:00:00 2001 From: jialin Date: Mon, 7 Jul 2025 17:18:25 +0800 Subject: [PATCH] fix: reset form after switch model --- .../llmodels/components/advance-config.tsx | 11 ++-------- .../llmodels/components/deploy-modal.tsx | 22 +++++++++---------- src/pages/llmodels/config/index.ts | 1 - src/pages/llmodels/hooks/index.ts | 1 + src/pages/playground/config/samples.ts | 2 +- 5 files changed, 15 insertions(+), 22 deletions(-) diff --git a/src/pages/llmodels/components/advance-config.tsx b/src/pages/llmodels/components/advance-config.tsx index 9a7b0df6..8940c62a 100644 --- a/src/pages/llmodels/components/advance-config.tsx +++ b/src/pages/llmodels/components/advance-config.tsx @@ -186,14 +186,7 @@ const AdvanceConfig: React.FC = (props) => { } }; - const handleBeforeGpuSelectorChange = (gpuIds: any[]) => { - // if (backend !== backendOptionsMap.ascendMindie || !gpuIds?.length) { - // return; - // } - // const lastGroupName = gpuIds[gpuIds.length - 1][0]; - // const lastGroupItems = gpuIds.filter((item) => item[0] === lastGroupName); - // form.setFieldValue(['gpu_selector', 'gpu_ids'], lastGroupItems); - }; + const handleBeforeGpuSelectorChange = (gpuIds: any[]) => {}; const handleGpuSelectorChange = (value: any[]) => { handleBeforeGpuSelectorChange(value); @@ -548,4 +541,4 @@ const AdvanceConfig: React.FC = (props) => { ); }; -export default React.memo(AdvanceConfig); +export default AdvanceConfig; diff --git a/src/pages/llmodels/components/deploy-modal.tsx b/src/pages/llmodels/components/deploy-modal.tsx index 17a35247..95470662 100644 --- a/src/pages/llmodels/components/deploy-modal.tsx +++ b/src/pages/llmodels/components/deploy-modal.tsx @@ -37,6 +37,7 @@ import TitleWrapper from './title-wrapper'; const resetFieldsByModel = ['backend_version', 'backend_parameters', 'env']; const pickFieldsFromSpec = ['backend_version', 'backend_parameters', 'env']; const dropFieldsFromForm = ['name', 'file_name', 'repo_id', 'backend']; +const resetFields = ['worker_selector', 'env']; const resetFieldsByFile = [ 'cpu_offloading', @@ -309,14 +310,11 @@ const AddModal: FC = (props) => { updateSelectedModel(item); // TODO - form.current?.form?.setFieldsValue(defaultFormValues); + form.current?.resetFields(resetFields); const modelInfo = onSelectModel(item, props.source); form.current?.setFieldsValue?.({ + ...defaultFormValues, ...modelInfo, - ..._.omit(form.current?.form?.getFieldsValue?.(), [ - ...dropFieldsFromForm, - ...pickFieldsFromSpec - ]), categories: getCategory(item) }); @@ -343,7 +341,7 @@ const AddModal: FC = (props) => { } if (manual) { - form.current?.form?.setFieldsValue(defaultFormValues); + form.current?.resetFields(resetFields); } // If the item is empty setIsGGUF(item.isGGUF); @@ -360,20 +358,22 @@ const AddModal: FC = (props) => { item.evaluated ) { handleShowCompatibleAlert(item.evaluateResult); + const newFormValues = { + ...(manual + ? { ...defaultFormValues } + : _.omit(form.current?.form?.getFieldsValue?.(), [ + ...dropFieldsFromForm + ])), ...getDefaultSpec(item), ...modelInfo, - ..._.omit(form.current?.form?.getFieldsValue?.(), [ - ...dropFieldsFromForm, - ...pickFieldsFromSpec - ]), name: generateNameValue(item, modelInfo.name, manual), categories: getCategory(item) }; console.log('newFormValues:', newFormValues); - form.current?.setFieldsValue?.(newFormValues); + form.current?.form?.setFieldsValue?.(newFormValues); handleOnValuesChangeBefore({ changedValues: {}, diff --git a/src/pages/llmodels/config/index.ts b/src/pages/llmodels/config/index.ts index 7ef3d7e1..1a2d85aa 100644 --- a/src/pages/llmodels/config/index.ts +++ b/src/pages/llmodels/config/index.ts @@ -429,7 +429,6 @@ export const excludeFields = [ 'repo_id', 'file_name', 'replicas', - 'categories', 'name', 'description', 'env', diff --git a/src/pages/llmodels/hooks/index.ts b/src/pages/llmodels/hooks/index.ts index 94be9f77..f872e5f1 100644 --- a/src/pages/llmodels/hooks/index.ts +++ b/src/pages/llmodels/hooks/index.ts @@ -634,6 +634,7 @@ export const useSelectModel = (data: { gpuOptions: any[] }) => { repo_id: selectModel.name, file_name: '', name: name, + source: source, backend: backend }; }; diff --git a/src/pages/playground/config/samples.ts b/src/pages/playground/config/samples.ts index aca0c52a..2d024c52 100644 --- a/src/pages/playground/config/samples.ts +++ b/src/pages/playground/config/samples.ts @@ -37,7 +37,7 @@ export const rerankerSamples: Record< } > = { 'zh-CN': { - query: '', + query: '如何提高睡眠质量?', documents: [ '保持规律的作息时间,晚上避免使用电子产品。', '参加更多社交活动有助于提高情绪。',