///
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);
}