import * as React from "react"; import Option from "./Option"; import { ConfigConsumerProps } from "../Config"; interface ISelectProps { /** * 自定义样式名称 * * @default "" **/ className?: string; /** * placeholder * * @default "请选择" **/ placeholder?: string; /** * 触发菜单打开事件 * * @default true **/ hideOnClick?: boolean; /** * 点击菜单项 触发回调 * * @default () => null **/ onItemSelect?: (...args: any[]) => void; /** * 子内容 * **/ children?: React.ReactNode; /** * 默认前缀 * * @default "lg" **/ prefixCls?: string; /** * 是否不可用 * * @default false **/ disabled?: boolean; /** * 默认当前选中索引 * * @default false **/ defaultIndex?: number | number[]; /** * 默认当前value * * @default false **/ defaultValue?: string | string[]; /** * 是否可搜索 * * @default false **/ showSearch?: boolean; /** * 文本框值变化时回调 * * **/ onSearch?: (val: any) => void; /** * 过滤条件 * * @default **/ filterOption?: (val: any, option: any) => boolean; /** * 当下拉列表为空时显示的内容 * * @default 'Not Found' **/ notFoundContent?: React.ReactNode; /** * 可设置 Select 的模式为多选 multiple * * @default **/ mode?: string; /** * 自定义style样式 * * @default **/ style?: React.CSSProperties; /** * select 尺寸大小 可选 ‘small’ * * @default '' **/ size?: string; /** * 支持清除 * * @default false **/ allowClear?: boolean; } interface ISelectState { visible: boolean; currIndex: number; currValue: string; inputValue: string; currIndexList: number[]; currValueList: string[]; topPostion: number | undefined; inputFocus: boolean; wrapFrocus: boolean; } declare class Select extends React.Component { static Option: typeof Option; static defaultProps: { placeholder: string; hideOnClick: boolean; className: string; onItemSelect: () => null; disabled: boolean; defaultIndex: number; defaultValue: string; mode: string; style: {}; size: string; notFoundContent: string; allowClear: boolean; }; private container; private textInput; private closeEl; constructor(props: any); componentDidMount(): void; componentWillUnmount(): void; clearData: (e: any) => void; componentWillReceiveProps(nextProps: any): void; /** * 获取容器绑定 clickoutside * @param ref */ getContainer: (ref: any) => void; /** * 打开下拉菜单 */ handleClick: (e: any) => void; /** * click 触发点击其他区域隐藏 下拉列表 */ handleClickOutside: (e: any) => void; /** * 选中下拉选项后执行函数 * @param clickItemProps 选中下拉项组件 props */ handleDropdownItemClick: (clickItemProps: any, e: any) => void; filterProps: (cProps: any) => {}; handleInputChange: (e: any) => void; closeItem: (item: any, e: any) => void; renderChild: (prefixCls: any) => JSX.Element | React.DetailedReactHTMLElement[] | null; handleInputFocus: () => void; handleIInputBlur: () => void; handleWrapOver: () => void; handleWrapOut: () => void; renderDefault: (prefixCls: any) => JSX.Element; renderMutil: (prefixCls: any) => JSX.Element; renderSelect: ({ getPrefixCls }: ConfigConsumerProps) => JSX.Element; render(): JSX.Element; } export default Select;