diff --git a/src/pages/playground/components/dynamic-params.tsx b/src/pages/playground/components/dynamic-params.tsx index e9c75f71..f6795c96 100644 --- a/src/pages/playground/components/dynamic-params.tsx +++ b/src/pages/playground/components/dynamic-params.tsx @@ -8,8 +8,7 @@ import React, { useCallback, useEffect, useId, - useImperativeHandle, - useMemo + useImperativeHandle } from 'react'; import { ParamsSchema } from '../config/types'; @@ -36,8 +35,6 @@ const ParamsSettings: React.FC = forwardRef( initialValues, paramsConfig, modelList, - watchFields, - formFields, showModelSelector = true, extra }, @@ -102,12 +99,12 @@ const ParamsSettings: React.FC = forwardRef( [intl] ); - const renderFields = useMemo(() => { + const renderFields = () => { if (!paramsConfig?.length) { return null; } - console.log('renderFields---------'); - const formValues = form?.getFieldsValue(); + const values = form.getFieldsValue(); + const formValues = _.isEmpty(values) ? initialValues || {} : values; return paramsConfig?.map((item: ParamsSchema) => { return ( = forwardRef( ); }); - }, [formFields, paramsConfig, intl, watchFields]); + }; return (
= forwardRef( )} } - {renderFields} + {renderFields()} {extra}
diff --git a/src/pages/playground/components/ground-images.tsx b/src/pages/playground/components/ground-images.tsx index 5ddb3b7c..568e4f8d 100644 --- a/src/pages/playground/components/ground-images.tsx +++ b/src/pages/playground/components/ground-images.tsx @@ -49,7 +49,6 @@ const GroundImages: React.FC = forwardRef((props, ref) => { handleToggleParamsStyle, setParams, form, - watchFields, formFields, paramsConfig, initialValues, @@ -142,7 +141,7 @@ const GroundImages: React.FC = forwardRef((props, ref) => { const generateParams = () => { const params = { ..._.omitBy(finalParameters, (value: string) => !value), - seed: parameters.random_seed ? generateRandomNumber() : parameters.seed, + seed: parameters.random_seed ? generateRandomNumber() : null, stream: false, prompt: currentPrompt }; @@ -272,7 +271,6 @@ 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 7fb27532..b71fa181 100644 --- a/src/pages/playground/components/image-edit.tsx +++ b/src/pages/playground/components/image-edit.tsx @@ -77,7 +77,6 @@ const GroundImages: React.FC = forwardRef((props, ref) => { setParamsConfig, form, modelMeta, - watchFields, formFields, paramsConfig, initialValues, @@ -167,7 +166,7 @@ const GroundImages: React.FC = forwardRef((props, ref) => { const generateParams = () => { const params = { ..._.omitBy(finalParameters, (value: string) => !value), - seed: parameters.random_seed ? generateRandomNumber() : parameters.seed, + seed: parameters.random_seed ? generateRandomNumber() : null, stream: false, prompt: currentPrompt }; @@ -518,7 +517,6 @@ const GroundImages: React.FC = forwardRef((props, ref) => {
diff --git a/src/pages/playground/hooks/config.ts b/src/pages/playground/hooks/config.ts index 56aabb8c..ee88cf91 100644 --- a/src/pages/playground/hooks/config.ts +++ b/src/pages/playground/hooks/config.ts @@ -51,15 +51,15 @@ export const llmInitialValues = { }; export const advancedFieldsDefaultValus = { - seed: null, - sample_method: 'euler_a', - cfg_scale: 4.5, - guidance: 3.5, - sampling_steps: 10, - negative_prompt: null, - strength: null, - schedule_method: 'discrete', - preview: 'preview_faster' + seed: null + // sample_method: 'euler_a', + // cfg_scale: 4.5, + // guidance: 3.5, + // sampling_steps: 10, + // negative_prompt: null, + // strength: null, + // schedule_method: 'discrete', + // preview: 'preview_faster' }; export const openaiCompatibleFieldsDefaultValus = { diff --git a/src/pages/playground/hooks/use-init-meta.ts b/src/pages/playground/hooks/use-init-meta.ts index a8844979..aea6d8c9 100644 --- a/src/pages/playground/hooks/use-init-meta.ts +++ b/src/pages/playground/hooks/use-init-meta.ts @@ -8,8 +8,8 @@ import { ImageAdvancedParamsConfig as ImgAdvancedParamsConfig, imageSizeOptions as imageSizeList } from '@/pages/playground/config/params-config'; +import { generateRandomNumber } from '@/utils'; import { useSearchParams } from '@umijs/max'; -import { Form } from 'antd'; import _ from 'lodash'; import React, { useCallback, @@ -229,6 +229,8 @@ export const useInitImageMeta = ( const [initialValues, setInitialValues] = useState({ ...imgInitialValues, ...advancedFieldsDefaultValus, + seed: generateRandomNumber(), + random_seed: true, model: '' }); const [paramsConfig, setParamsConfig] = useState([ @@ -240,6 +242,8 @@ export const useInitImageMeta = ( const [parameters, setParams] = useState({ ...imgInitialValues, ...advancedFieldsDefaultValus, + seed: generateRandomNumber(), + random_seed: true, model: '' }); @@ -252,11 +256,6 @@ export const useInitImageMeta = ( ...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 || {}; @@ -436,6 +435,7 @@ export const useInitImageMeta = ( const handleOnValuesChange = useCallback( (changeValues: Record, allValues: Record) => { + console.log('changeValues', changeValues); // model change will reset all values if (changeValues.model) { handleOnModelChange(changeValues.model); @@ -469,6 +469,16 @@ export const useInitImageMeta = ( ]); setParams(allValues); updateCacheFormData(changeValues); + } else if (_.isBoolean(changeValues.random_seed)) { + const seed = changeValues.random_seed ? generateRandomNumber() : null; + setParams({ + ...allValues, + seed: seed + }); + form.current?.form?.setFieldsValue({ + seed: seed + }); + updateCacheFormData(changeValues); } else { setParams(allValues); updateCacheFormData(changeValues); @@ -503,7 +513,6 @@ export const useInitImageMeta = ( form, modelMeta, formFields, - watchFields, paramsConfig, initialValues, parameters,