fix: dataSource in select readPretty is missing (#3574)

This commit is contained in:
katherinehhh 2024-02-27 10:57:51 +08:00 committed by GitHub
parent 28222fce99
commit fc5e67d96b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 3 deletions

View File

@ -5,6 +5,7 @@ import { Checkbox as AntdCheckbox, Tag } from 'antd';
import type { CheckboxGroupProps, CheckboxProps } from 'antd/es/checkbox'; import type { CheckboxGroupProps, CheckboxProps } from 'antd/es/checkbox';
import uniq from 'lodash/uniq'; import uniq from 'lodash/uniq';
import React from 'react'; import React from 'react';
import { useCollectionField } from '../../../collection-manager';
import { EllipsisWithTooltip } from '../input/EllipsisWithTooltip'; import { EllipsisWithTooltip } from '../input/EllipsisWithTooltip';
type ComposedCheckbox = React.ForwardRefExoticComponent< type ComposedCheckbox = React.ForwardRefExoticComponent<
@ -50,7 +51,8 @@ Checkbox.Group = connect(
return null; return null;
} }
const field = useField<any>(); const field = useField<any>();
const dataSource = field.dataSource || []; const { uiSchema } = useCollectionField();
const dataSource = field.dataSource || uiSchema.enum || [];
const value = uniq(field.value ? field.value : []); const value = uniq(field.value ? field.value : []);
return ( return (
<EllipsisWithTooltip ellipsis={props.ellipsis}> <EllipsisWithTooltip ellipsis={props.ellipsis}>

View File

@ -3,6 +3,7 @@ import { isValid } from '@formily/shared';
import { Radio as AntdRadio, Tag } from 'antd'; import { Radio as AntdRadio, Tag } from 'antd';
import type { RadioGroupProps, RadioProps } from 'antd/es/radio'; import type { RadioGroupProps, RadioProps } from 'antd/es/radio';
import React from 'react'; import React from 'react';
import { useCollectionField } from '../../../collection-manager';
type ComposedRadio = React.FC<RadioProps> & { type ComposedRadio = React.FC<RadioProps> & {
Group?: React.FC<RadioGroupProps>; Group?: React.FC<RadioGroupProps>;
@ -29,7 +30,8 @@ Radio.Group = connect(
} }
const { value } = props; const { value } = props;
const field = useField<any>(); const field = useField<any>();
const dataSource = field.dataSource || []; const { uiSchema } = useCollectionField();
const dataSource = field.dataSource || uiSchema.enum || [];
return ( return (
<div> <div>
{dataSource {dataSource

View File

@ -5,6 +5,7 @@ import { Tag } from 'antd';
import React from 'react'; import React from 'react';
import { EllipsisWithTooltip } from '../input/EllipsisWithTooltip'; import { EllipsisWithTooltip } from '../input/EllipsisWithTooltip';
import { defaultFieldNames, getCurrentOptions } from './utils'; import { defaultFieldNames, getCurrentOptions } from './utils';
import { useCollectionField } from '../../../collection-manager';
export const ReadPretty = observer( export const ReadPretty = observer(
(props: any) => { (props: any) => {
@ -17,7 +18,8 @@ export const ReadPretty = observer(
if (isArrayField(field) && field?.value?.length === 0) { if (isArrayField(field) && field?.value?.length === 0) {
return <div />; return <div />;
} }
const dataSource = field.dataSource || props.options || []; const { uiSchema } = useCollectionField();
const dataSource = field.dataSource || props.options || uiSchema.enum || [];
const currentOptions = getCurrentOptions(field.value, dataSource, fieldNames); const currentOptions = getCurrentOptions(field.value, dataSource, fieldNames);
return ( return (