From 194e088d01c6f713745d3fcebbc6b1c3df85b22e Mon Sep 17 00:00:00 2001 From: balibabu Date: Fri, 4 Jul 2025 12:21:00 +0800 Subject: [PATCH] Fix: Fixed the issue where the debug form Switch component had no default value #3221 (#8662) ### What problem does this PR solve? Fix: Fixed the issue where the debug form Switch component had no default value #3221 ### Type of change - [x] Bug Fix (non-breaking change which fixes an issue) --- web/src/pages/agent/debug-content/index.tsx | 35 ++++++++++++--------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/web/src/pages/agent/debug-content/index.tsx b/web/src/pages/agent/debug-content/index.tsx index 964825f68..9228bed85 100644 --- a/web/src/pages/agent/debug-content/index.tsx +++ b/web/src/pages/agent/debug-content/index.tsx @@ -44,8 +44,6 @@ interface IProps { btnText?: ReactNode; } -const values = {}; - const DebugContent = ({ parameters, ok, @@ -56,15 +54,20 @@ const DebugContent = ({ }: IProps) => { const { t } = useTranslation(); - const FormSchema = useMemo(() => { - const obj = parameters.reduce>( + const formSchemaValues = useMemo(() => { + const obj = parameters.reduce<{ + schema: Record; + values: Record; + }>( (pre, cur, idx) => { const type = cur.type; let fieldSchema; + let value; if (StringFields.some((x) => x === type)) { - fieldSchema = z.string(); + fieldSchema = z.string().trim().min(1); } else if (type === BeginQueryType.Boolean) { fieldSchema = z.boolean(); + value = false; } else if (type === BeginQueryType.Integer) { fieldSchema = z.coerce.number(); } else { @@ -72,22 +75,25 @@ const DebugContent = ({ } if (cur.optional) { - fieldSchema.optional(); + fieldSchema = fieldSchema.optional(); } - pre[idx.toString()] = fieldSchema; + const index = idx.toString(); + + pre.schema[index] = fieldSchema; + pre.values[index] = value; return pre; }, - {}, + { schema: {}, values: {} }, ); - return z.object(obj); + return { schema: z.object(obj.schema), values: obj.values }; }, [parameters]); - const form = useForm>({ - defaultValues: values, - resolver: zodResolver(FormSchema), + const form = useForm>({ + defaultValues: formSchemaValues.values, + resolver: zodResolver(formSchemaValues.schema), }); const submittable = true; @@ -223,8 +229,7 @@ const DebugContent = ({ ); const onSubmit = useCallback( - (values: z.infer) => { - console.log('🚀 ~ values:', values); + (values: z.infer) => { const nextValues = Object.entries(values).map(([key, value]) => { const item = parameters[Number(key)]; let nextValue = value; @@ -243,7 +248,7 @@ const DebugContent = ({ ok(nextValues); }, - [ok, parameters], + [formSchemaValues, ok, parameters], ); return (