import React, { useMemo } from 'react'; import type { IDatasetField, IDatasetFieldType } from '../../typings'; import { Select, Tag } from 'antd'; import type { SelectProps } from 'antd'; import styles from './index.less'; import { DATASET_FIELD_TYPE_COLOR } from '../../constants'; const { Option } = Select; // @ts-ignore interface IProps extends SelectProps { value?: string | string[] | null; supportTypes?: IDatasetFieldType[]; fields?: IDatasetField[]; onChange?: ( value?: string | string[] | null, field?: IDatasetField | null, ) => void; } const FieldSelect = ({ value = undefined, fields = [], onChange, supportTypes = [], ...props }: IProps) => { const displayFields = useMemo(() => { if (!supportTypes?.length) { return fields; } return fields?.filter((field) => { return supportTypes?.includes(field.type); }); }, [fields, supportTypes]); return ( ); }; export default FieldSelect;