fix: association field display has been delete in sub-form (#2205)

This commit is contained in:
katherinehhh 2023-07-07 13:57:12 +08:00 committed by GitHub
parent 6646007dd7
commit 09d5477983
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,6 +1,5 @@
import { SchemaKey, useFieldSchema } from '@formily/react'; import { SchemaKey, useFieldSchema } from '@formily/react';
import React from 'react'; import React from 'react';
import { useRecord } from '../record-provider';
import { CollectionFieldContext } from './context'; import { CollectionFieldContext } from './context';
import { useCollection, useCollectionManager } from './hooks'; import { useCollection, useCollectionManager } from './hooks';
import { CollectionFieldOptions } from './types'; import { CollectionFieldOptions } from './types';
@ -13,11 +12,8 @@ export const CollectionFieldProvider: React.FC<{
const { name, field, children, fallback = null } = props; const { name, field, children, fallback = null } = props;
const fieldSchema = useFieldSchema(); const fieldSchema = useFieldSchema();
const { getField } = useCollection(); const { getField } = useCollection();
const { __collection } = useRecord();
const { getCollectionJoinField } = useCollectionManager(); const { getCollectionJoinField } = useCollectionManager();
const value = __collection const value = field || getField(field?.name || name) || getCollectionJoinField(fieldSchema?.['x-collection-field']);
? getCollectionJoinField(`${__collection}.${name}`)
: field || getField(field?.name || name) || getCollectionJoinField(fieldSchema?.['x-collection-field']);
if (!value) { if (!value) {
return fallback; return fallback;
} }