/** * @author linhd * @date 2021/8/23 14:20 * @description 多值框 */ import React, { FunctionComponent, ReactNode } from 'react'; import { TextFieldProps } from '../TextField'; import { LabelTooltipProps } from '../Label'; import { HelperTextDetailProps } from '../HelperText'; import { TooltipProps } from "../Tooltip"; import './index.scss'; interface ReplaceFieldsProps { /** key索引 */ key?: string; /** value索引 */ value?: string; } export interface MultiBoxProps extends HelperTextDetailProps { /** 样式class */ className?: string; /** style */ style?: React.CSSProperties; /** 大小 */ size?: 'small' | 'medium' | 'large'; /** 中间符号 */ separator?: ReactNode; /** 标题 */ label?: ReactNode; /** 帮组提示信息 */ labelTooltip?: LabelTooltipProps; /** 标题提示 */ labelSign?: ReactNode; /** 提示语key */ placeholderKey?: ReactNode; /** 提示语value */ placeholderValue?: ReactNode; /** 是否禁用 */ disabled?: boolean | { [name: string]: boolean; }[]; /** * 禁用提示 */ disabledTooltip?: TooltipProps; /** 是否必填 */ required?: boolean; /** 默认值 不受控 */ defaultValue?: any[]; /** 选中值 多选时为数组 单选单值 */ value?: any[]; /** 替换字段 */ replaceFields?: ReplaceFieldsProps; /** 没有错误的时候,不渲染 */ hideErrorDom?: boolean; /** 错误提示 */ helperText?: ReactNode | Record[]; /** 改变值 */ onChange?: (val: any[]) => void; /** 键值索引匹配 */ fetchSuggestionsKey?: (val: string, cb: (data: any[]) => void) => void; /** 值索引匹配 */ fetchSuggestionsValue?: (val: string, cb: (data: any[]) => void) => void; /** 自定义键值Props */ keyOtherProps?: (index: number, val: string) => TextFieldProps; /** 自定义值Props */ valueOtherProps?: (index: number, val: string) => TextFieldProps; [name: string]: any; } export declare const MultiBox: FunctionComponent; export default MultiBox;