From 374c569dc087a2e201e056d6b30a91e0a8695445 Mon Sep 17 00:00:00 2001 From: Katherine Date: Mon, 21 Apr 2025 09:47:15 +0800 Subject: [PATCH] fix: incorrect value display for "Enable index column" (#6724) --- .../data-blocks/table/tableBlockSettings.tsx | 2 +- .../schema-settings/LinkageRules/useValues.ts | 29 +++++++++++++++++-- 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/packages/core/client/src/modules/blocks/data-blocks/table/tableBlockSettings.tsx b/packages/core/client/src/modules/blocks/data-blocks/table/tableBlockSettings.tsx index ac79a00269..6a05614b93 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/table/tableBlockSettings.tsx +++ b/packages/core/client/src/modules/blocks/data-blocks/table/tableBlockSettings.tsx @@ -37,7 +37,7 @@ const enabledIndexColumn: SchemaSettingsItemType = { const { dn } = useDesignable(); return { title: t('Enable index column'), - checked: field.decoratorProps.enableSelectColumn !== false, + checked: field.decoratorProps.enableIndexÏColumn !== false, onChange: async (enableIndexÏColumn) => { field.decoratorProps = field.decoratorProps || {}; field.decoratorProps.enableIndexÏColumn = enableIndexÏColumn; diff --git a/packages/core/client/src/schema-settings/LinkageRules/useValues.ts b/packages/core/client/src/schema-settings/LinkageRules/useValues.ts index 9b0e659a80..5a86fafcd0 100644 --- a/packages/core/client/src/schema-settings/LinkageRules/useValues.ts +++ b/packages/core/client/src/schema-settings/LinkageRules/useValues.ts @@ -35,9 +35,34 @@ export const useValues = (options) => { const option = (dataIndex && findOption(dataIndex, options)) || {}; const operators = option?.operators || []; field.data.operators = operators?.filter((v) => { - if (dataIndex.length > 1) { - return v.value !== 'value'; + const isOptionField = ['select', 'radioGroup', 'multipleSelect', 'checkboxGroup'].includes( + option?.interface || '', + ); + const isDateField = [ + 'date', + 'datetime', + 'dateOnly', + 'datetimeNoTz', + 'unixTimestamp', + 'createdAt', + 'updatedAt', + ].includes(option?.interface || ''); + + // 如果 多个字段,则排除 Value、DateScope、Options + if (dataIndex.length > 1 && [ActionType.Value, ActionType.DateScope, ActionType.Options].includes(v.value)) { + return false; } + + // 非选项字段,去掉 Options + if (!isOptionField && v.value === ActionType.Options) { + return false; + } + + // 非时间字段,去掉 DateScope + if (!isDateField && v.value === ActionType.DateScope) { + return false; + } + return true; }); field.data.schema = option?.schema;