From a0643713dbe6e87bd5cf33ba973a2ccd580616f0 Mon Sep 17 00:00:00 2001 From: Katherine Date: Thu, 22 Aug 2024 15:06:02 +0800 Subject: [PATCH] fix: button field assignment to only update visible fields (#5104) --- .../src/schema-settings/SchemaSettings.tsx | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/core/client/src/schema-settings/SchemaSettings.tsx b/packages/core/client/src/schema-settings/SchemaSettings.tsx index 980254f56e..8e45c1d316 100644 --- a/packages/core/client/src/schema-settings/SchemaSettings.tsx +++ b/packages/core/client/src/schema-settings/SchemaSettings.tsx @@ -636,8 +636,20 @@ export const SchemaSettingsActionModalItem: FC { await form.submit(); - onSubmit?.(cloneDeep(form.values)); - setVisible(false); + try { + const allValues = form.values; + // 过滤掉那些在表单 Schema 中未定义的字段 + const visibleValues = Object.keys(allValues).reduce((result, key) => { + if (form.query(key).take()) { + result[key] = allValues[key]; + } + return result; + }, {}); + await onSubmit?.(cloneDeep(visibleValues)); + setVisible(false); + } catch (err) { + console.error(err); + } }, [form, onSubmit]); const openAssignedFieldValueHandler = useCallback(async () => {