From c8933a6669fd4c692fa800fc7c1e4d6fc4b1afab Mon Sep 17 00:00:00 2001 From: jialin Date: Wed, 2 Jul 2025 20:29:57 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20update=20form=20values=20when=20switchin?= =?UTF-8?q?g=20model=E3=80=81size,=20#2191?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/deploy-builtin-modal.tsx | 24 +++++++------------ .../llmodels/components/deploy-modal.tsx | 4 +++- src/pages/llmodels/config/index.ts | 14 +++++++++++ 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/src/pages/llmodels/components/deploy-builtin-modal.tsx b/src/pages/llmodels/components/deploy-builtin-modal.tsx index a1b5f23e..72f44a7c 100644 --- a/src/pages/llmodels/components/deploy-builtin-modal.tsx +++ b/src/pages/llmodels/components/deploy-builtin-modal.tsx @@ -11,6 +11,7 @@ import styled from 'styled-components'; import { queryCatalogItemSpec } from '../apis'; import { backendOptionsMap, + defaultFormValues, modelCategoriesMap, sourceOptions } from '../config'; @@ -130,22 +131,10 @@ const AddModal: React.FC = (props) => { // use for size change and quantization change const pickSomeFieldsValue = (defaultSpec: CatalogSpec) => { const formData = form.current?.getFieldsValue(); - const currentData = _.pick(formData, [ - 'worker_selector', - 'gpu_selector', - 'env', - 'backend_version', - 'backend_parameters' - ]); + const currentData = _.pick(formData, Object.keys(defaultFormValues)); // if the backend_parameters is empty, use the defaultSpec.backend_parameters - return { - ...currentData, - backend_parameters: - currentData.backend_parameters?.length > 0 - ? currentData.backend_parameters - : defaultSpec.backend_parameters || [] - }; + return currentData; }; const generateSubmitData = (formData: FormData) => { @@ -365,6 +354,7 @@ const AddModal: React.FC = (props) => { }); form.current.setFieldsValue({ + ...defaultFormValues, ...data }); handleCheckFormData(); @@ -449,6 +439,8 @@ const AddModal: React.FC = (props) => { }; const handleOnSizeChange = (val: number) => { + // TODO + form.current.setFieldValue(defaultFormValues); const list = handleSetQuantizationOptions({ backend: form.current.getFieldValue('backend'), size: val @@ -464,8 +456,8 @@ const AddModal: React.FC = (props) => { // set form data form.current.setFieldsValue({ - ...data, - ...pickSomeFieldsValue(data) + ...defaultFormValues, + ...data }); handleCheckFormData(); }; diff --git a/src/pages/llmodels/components/deploy-modal.tsx b/src/pages/llmodels/components/deploy-modal.tsx index 63b57043..1fefa51e 100644 --- a/src/pages/llmodels/components/deploy-modal.tsx +++ b/src/pages/llmodels/components/deploy-modal.tsx @@ -11,6 +11,7 @@ import { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import styled from 'styled-components'; import { backendOptionsMap, + defaultFormValues, getSourceRepoConfigValue, modelSourceMap } from '../config'; @@ -310,7 +311,8 @@ const AddModal: FC = (props) => { }); updateSelectedModel(item); - form.current?.form?.resetFields(resetFieldsByModel); + // TODO + form.current?.form?.setFieldsValue(defaultFormValues); const modelInfo = onSelectModel(item, props.source); form.current?.setFieldsValue?.({ ...modelInfo, diff --git a/src/pages/llmodels/config/index.ts b/src/pages/llmodels/config/index.ts index 5e009314..7ef3d7e1 100644 --- a/src/pages/llmodels/config/index.ts +++ b/src/pages/llmodels/config/index.ts @@ -491,6 +491,20 @@ export const formFields = [ 'restart_on_error' ]; +export const defaultFormValues = { + replicas: 1, + description: '', + categories: null, + env: {}, + scheduleType: 'auto', + placement_strategy: 'spread', + gpu_ids: null, + gpu_selector: {}, + worker_selector: {}, + backend_parameters: [], + backend_version: '' +}; + export const getBackendParamsTips = (backend: string) => { if (backend === backendOptionsMap.llamaBox) { return {