fix: update form values when switching model、size, #2191

This commit is contained in:
jialin
2025-07-02 20:34:48 +08:00
parent 6c2da264db
commit c8933a6669
3 changed files with 25 additions and 17 deletions
@@ -11,6 +11,7 @@ import styled from 'styled-components';
import { queryCatalogItemSpec } from '../apis'; import { queryCatalogItemSpec } from '../apis';
import { import {
backendOptionsMap, backendOptionsMap,
defaultFormValues,
modelCategoriesMap, modelCategoriesMap,
sourceOptions sourceOptions
} from '../config'; } from '../config';
@@ -130,22 +131,10 @@ const AddModal: React.FC<AddModalProps> = (props) => {
// use for size change and quantization change // use for size change and quantization change
const pickSomeFieldsValue = (defaultSpec: CatalogSpec) => { const pickSomeFieldsValue = (defaultSpec: CatalogSpec) => {
const formData = form.current?.getFieldsValue(); const formData = form.current?.getFieldsValue();
const currentData = _.pick(formData, [ const currentData = _.pick(formData, Object.keys(defaultFormValues));
'worker_selector',
'gpu_selector',
'env',
'backend_version',
'backend_parameters'
]);
// if the backend_parameters is empty, use the defaultSpec.backend_parameters // if the backend_parameters is empty, use the defaultSpec.backend_parameters
return { return currentData;
...currentData,
backend_parameters:
currentData.backend_parameters?.length > 0
? currentData.backend_parameters
: defaultSpec.backend_parameters || []
};
}; };
const generateSubmitData = (formData: FormData) => { const generateSubmitData = (formData: FormData) => {
@@ -365,6 +354,7 @@ const AddModal: React.FC<AddModalProps> = (props) => {
}); });
form.current.setFieldsValue({ form.current.setFieldsValue({
...defaultFormValues,
...data ...data
}); });
handleCheckFormData(); handleCheckFormData();
@@ -449,6 +439,8 @@ const AddModal: React.FC<AddModalProps> = (props) => {
}; };
const handleOnSizeChange = (val: number) => { const handleOnSizeChange = (val: number) => {
// TODO
form.current.setFieldValue(defaultFormValues);
const list = handleSetQuantizationOptions({ const list = handleSetQuantizationOptions({
backend: form.current.getFieldValue('backend'), backend: form.current.getFieldValue('backend'),
size: val size: val
@@ -464,8 +456,8 @@ const AddModal: React.FC<AddModalProps> = (props) => {
// set form data // set form data
form.current.setFieldsValue({ form.current.setFieldsValue({
...data, ...defaultFormValues,
...pickSomeFieldsValue(data) ...data
}); });
handleCheckFormData(); handleCheckFormData();
}; };
@@ -11,6 +11,7 @@ import { FC, useCallback, useEffect, useMemo, useRef, useState } from 'react';
import styled from 'styled-components'; import styled from 'styled-components';
import { import {
backendOptionsMap, backendOptionsMap,
defaultFormValues,
getSourceRepoConfigValue, getSourceRepoConfigValue,
modelSourceMap modelSourceMap
} from '../config'; } from '../config';
@@ -310,7 +311,8 @@ const AddModal: FC<AddModalProps> = (props) => {
}); });
updateSelectedModel(item); updateSelectedModel(item);
form.current?.form?.resetFields(resetFieldsByModel); // TODO
form.current?.form?.setFieldsValue(defaultFormValues);
const modelInfo = onSelectModel(item, props.source); const modelInfo = onSelectModel(item, props.source);
form.current?.setFieldsValue?.({ form.current?.setFieldsValue?.({
...modelInfo, ...modelInfo,
+14
View File
@@ -491,6 +491,20 @@ export const formFields = [
'restart_on_error' '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) => { export const getBackendParamsTips = (backend: string) => {
if (backend === backendOptionsMap.llamaBox) { if (backend === backendOptionsMap.llamaBox) {
return { return {