@aimake/nanod
Version:
## 设计模式 NANO DESIGN 是面向于企业级中台化应用的解决方案。服务于 ToB 和 ToE 类型的单页应用,应用于各产品中从而产出了一套设计及前端规范。
40 lines (39 loc) • 1.5 kB
TypeScript
import * as React from 'react';
import { AbstractSelectProps, SelectValue, OptionProps, OptGroupProps } from '../select';
export interface DataSourceItemObject {
value: string;
text: string;
}
export declare type DataSourceItemType = string | DataSourceItemObject;
export interface AutoCompleteInputProps {
onChange?: React.FormEventHandler<any>;
value: any;
}
export declare type ValidInputElement = HTMLInputElement | HTMLTextAreaElement | React.ReactElement<AutoCompleteInputProps>;
export interface AutoCompleteProps extends AbstractSelectProps {
value?: SelectValue;
defaultValue?: SelectValue;
dataSource: DataSourceItemType[];
optionLabelProp?: string;
onChange?: (value: SelectValue) => void;
onSelect?: (value: SelectValue, option: Object) => any;
children?: ValidInputElement | React.ReactElement<OptionProps> | Array<React.ReactElement<OptionProps>>;
}
export default class AutoComplete extends React.Component<AutoCompleteProps, {}> {
static Option: React.ClassicComponentClass<OptionProps>;
static OptGroup: React.ClassicComponentClass<OptGroupProps>;
static defaultProps: {
prefixCls: string;
transitionName: string;
optionLabelProp: string;
choiceTransitionName: string;
showSearch: boolean;
filterOption: boolean;
};
private select;
getInputElement: () => JSX.Element;
focus(): void;
blur(): void;
saveSelect: (node: any) => void;
render(): JSX.Element;
}