diff --git a/packages/core/client/src/modules/fields/component/SubTable/subTablePopoverComponentFieldSettings.tsx b/packages/core/client/src/modules/fields/component/SubTable/subTablePopoverComponentFieldSettings.tsx index 55e1d28991..93f2cab0a7 100644 --- a/packages/core/client/src/modules/fields/component/SubTable/subTablePopoverComponentFieldSettings.tsx +++ b/packages/core/client/src/modules/fields/component/SubTable/subTablePopoverComponentFieldSettings.tsx @@ -29,6 +29,7 @@ import { useIsAssociationField } from '../../../../schema-component/antd/form-it import { FormLinkageRules } from '../../../../schema-settings/LinkageRules'; import { SchemaSettingsLinkageRules } from '../../../../schema-settings/SchemaSettings'; import { SchemaSettingsItemType } from '../../../../application'; +import { useColumnSchema } from '../../../../schema-component'; const enabledIndexColumn: SchemaSettingsItemType = { name: 'enableIndexColumn', @@ -338,11 +339,12 @@ export const linkageRules = { Component: SchemaSettingsLinkageRules, useComponentProps() { const field = useField(); - const fieldSchema = useFieldSchema(); + const schema = useFieldSchema(); + const { fieldSchema: columnSchema } = useColumnSchema(); + const fieldSchema = columnSchema || schema; const cm = useCollectionManager(); const collectionField = cm.getCollectionField(fieldSchema['x-collection-field']); const { rerenderDataBlock } = useRerenderDataBlock(); - return { collectionName: collectionField?.target, Component: LinkageRulesComponent, diff --git a/packages/core/client/src/schema-component/antd/association-field/SubTable.tsx b/packages/core/client/src/schema-component/antd/association-field/SubTable.tsx index 032446d4c6..edc27227a7 100644 --- a/packages/core/client/src/schema-component/antd/association-field/SubTable.tsx +++ b/packages/core/client/src/schema-component/antd/association-field/SubTable.tsx @@ -218,7 +218,6 @@ export const SubTable: any = observer( }, }; }; - console.log(props); return (
diff --git a/packages/core/client/src/schema-component/antd/form-item/hooks/useLinkageRulesForSubTableOrSubForm.ts b/packages/core/client/src/schema-component/antd/form-item/hooks/useLinkageRulesForSubTableOrSubForm.ts index 2fc7a4b2a8..9c04c30185 100644 --- a/packages/core/client/src/schema-component/antd/form-item/hooks/useLinkageRulesForSubTableOrSubForm.ts +++ b/packages/core/client/src/schema-component/antd/form-item/hooks/useLinkageRulesForSubTableOrSubForm.ts @@ -104,6 +104,7 @@ function getLinkageRules(fieldSchema) { if (!fieldSchema) { return; } + const result = fieldSchema['x-linkage-rules'] || fieldSchema?.parent?.['x-linkage-rules'] || []; - return fieldSchema['x-linkage-rules']?.filter((k) => !k.disabled); + return result?.filter((k) => !k.disabled); }