/// import { CSSProperties } from 'react'; import { BasicConfig, BasicContainer, BasicContainerPropsInterface } from '../../render/core/Container/types'; export declare class SelectConfig extends BasicConfig { /** * Select的数据模型Key */ name: string; /** * 初始化默认值 */ defaultValue?: string; /** * 加载中 */ loading?: boolean; /** * 下拉框模式 * @public * @default '' */ mode?: 'default' | 'multiple' | 'tags' | 'combobox'; /** * 支持清除 * @public * @default false */ allowClear?: boolean; /** * 输入框默认文字 * @public * @default '' */ placeholder?: string; /** * 把placeholder也作为筛选项的值 */ placeholderAsSelection: boolean; /** * 选择框大小,可选 large small default * @public * @default default */ size?: 'default' | 'large' | 'small'; /** * 是否禁用 * @public * @default false */ disabled?: boolean; /** * 回填到选择框的 Option 的属性值,默认是 Option 的子元素。比如在子元素需要高亮效果时,此值可以设为 value。 */ optionLabelProp?: string; /** * 下拉菜单和选择器同宽 */ dropdownMatchSelectWidth?: boolean; /** * 搜索时过滤对应的 option 属性,如设置为 children 表示对内嵌内容进行搜索 */ optionFilterProp?: string; /** * 是否默认高亮第一个选项。 */ defaultActiveFirstOption?: boolean; /** * 在 tags 和 multiple 模式下自动分词的分隔符 */ tokenSeparators: string[]; /** * 是否把每个选项的 label 包装到 value 中,会把 Select 的 value 类型从 string 变为 {key: string, label: ReactNode} 的格式 */ labelInValue?: boolean; /** * CSS样式 */ style?: CSSProperties; /** * CSS class */ className?: string; /** * 下拉框列表 */ options: OptionConfig[]; /** * 下拉框字段重写 */ optionsMapping?: OptionConfig; /** * 带有组别的下拉框 */ optionsGroup?: OptionGroupConfig[]; } export declare class OptionGroupConfig { /** * 组别标题 */ label: string; /** * 选项 */ options: OptionConfig[]; } export declare class OptionConfig { /** * 下拉框展示的内容 * @public */ key: string; /** * 下拉框提交的内容 * @public */ value: string; /** * 是否禁用 * @public * @default false */ disabled: boolean; } export declare class SelectPropsInterface extends BasicContainerPropsInterface { info: SelectConfig; } export default class AbstractSelect extends BasicContainer { constructor(props: SelectPropsInterface); componentWillMount(): void; private renderOption(op); componentWillReceiveProps(nextProps: SelectPropsInterface): void; render(): JSX.Element; private handleChange(value); private mapSelectOptions(info); private mapOptionOptions(op); private applyMapping(data, mappingConfig, index); }