From 1dd7037aa01a38f4da1da60da961021d3c62b03c Mon Sep 17 00:00:00 2001 From: jialin Date: Sun, 23 Feb 2025 13:30:34 +0800 Subject: [PATCH] fix: params form render depds on fields --- src/pages/playground/components/dynamic-params.tsx | 14 ++++---------- src/pages/playground/components/ground-images.tsx | 2 ++ src/pages/playground/components/image-edit.tsx | 2 ++ src/pages/playground/hooks/use-init-meta.ts | 7 +++++++ 4 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/pages/playground/components/dynamic-params.tsx b/src/pages/playground/components/dynamic-params.tsx index 07c8539b..36a82955 100644 --- a/src/pages/playground/components/dynamic-params.tsx +++ b/src/pages/playground/components/dynamic-params.tsx @@ -22,8 +22,9 @@ type ParamsSettingsProps = { onValuesChange?: (changeValues: any, value: Record) => void; onModelChange?: (model: string) => void; paramsConfig?: ParamsSchema[]; - initialValues?: Record; // for initial values when switch model + initialValues?: Record; // for initial values when switch model, aviod update values from setParams extra?: React.ReactNode; + watchFields?: any[]; }; const ParamsSettings: React.FC = forwardRef( @@ -35,6 +36,7 @@ const ParamsSettings: React.FC = forwardRef( initialValues, paramsConfig, modelList, + watchFields = [], showModelSelector = true, extra }, @@ -43,14 +45,6 @@ const ParamsSettings: React.FC = forwardRef( const intl = useIntl(); const [form] = Form.useForm(); const formId = useId(); - console.log('dynamic----params'); - - const dependFieldsValue = Form.useWatch([], form); - console.log( - 'dependFieldsValue===', - dependFieldsValue, - paramsConfig?.flatMap((item) => item.dependencies || []) - ); useImperativeHandle(ref, () => ({ form @@ -129,7 +123,7 @@ const ParamsSettings: React.FC = forwardRef( ); }); - }, [paramsConfig, intl, dependFieldsValue]); + }, [paramsConfig, intl, watchFields]); return (
= forwardRef((props, ref) => { handleToggleParamsStyle, setParams, form, + watchFields, paramsConfig, initialValues, parameters, @@ -295,6 +296,7 @@ const GroundImages: React.FC = forwardRef((props, ref) => {
diff --git a/src/pages/playground/components/image-edit.tsx b/src/pages/playground/components/image-edit.tsx index 6d79f61e..28f33071 100644 --- a/src/pages/playground/components/image-edit.tsx +++ b/src/pages/playground/components/image-edit.tsx @@ -71,6 +71,7 @@ const GroundImages: React.FC = forwardRef((props, ref) => { setParams, updateCacheFormData, form, + watchFields, paramsConfig, initialValues, parameters, @@ -493,6 +494,7 @@ const GroundImages: React.FC = forwardRef((props, ref) => {
diff --git a/src/pages/playground/hooks/use-init-meta.ts b/src/pages/playground/hooks/use-init-meta.ts index 87aa598e..972cef3f 100644 --- a/src/pages/playground/hooks/use-init-meta.ts +++ b/src/pages/playground/hooks/use-init-meta.ts @@ -9,6 +9,7 @@ import { imageSizeOptions as imageSizeList } from '@/pages/playground/config/params-config'; import { useSearchParams } from '@umijs/max'; +import { Form } from 'antd'; import _ from 'lodash'; import React, { useCallback, @@ -193,6 +194,11 @@ export const useInitImageMeta = (props: MessageProps) => { ...openaiCompatibleFieldsDefaultValus, ...advancedFieldsDefaultValus }); + const randomSeed = Form.useWatch('random_seed', form.current?.form); + + const watchFields = useMemo(() => { + return ['random_seed']; + }, [randomSeed]); const getNewImageSizeOptions = (metaData: any) => { const { max_height, max_width } = metaData || {}; @@ -420,6 +426,7 @@ export const useInitImageMeta = (props: MessageProps) => { handleToggleParamsStyle, setParams, form, + watchFields, paramsConfig, initialValues, parameters,