@aliretail/react-materials-components
Version:
75 lines (74 loc) • 2.59 kB
TypeScript
import * as React from 'react';
import * as PropTypes from 'prop-types';
declare type TProps = typeof CustomSelect.defaultProps & {
dataSource: any[];
sizeType?: 'medium' | 'large';
selectType?: 'single' | 'multiple' | 'singleInput' | 'multipleInput' | 'input';
value: any;
buttonText: string;
inputPlaceholder: string;
readOnly: boolean;
disabled: boolean;
maxAddNum: number;
validator?: (value: any) => boolean;
createValidator?: (value: any, list: any) => boolean;
followTrigger: boolean;
};
interface TState {
buttonShow: boolean;
inputValue: string;
selectList: any[];
}
declare class CustomSelect extends React.Component<TProps, TState> {
static propTypes: {
dataSource: PropTypes.Requireable<any[]>;
onSearch: PropTypes.Requireable<(...args: any[]) => any>;
placeholder: PropTypes.Requireable<string>;
filterLocal: PropTypes.Requireable<boolean>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
sizeType: PropTypes.Requireable<string>;
selectType: PropTypes.Requireable<string>;
value: PropTypes.Requireable<any>;
buttonText: PropTypes.Requireable<string>;
inputPlaceholder: PropTypes.Requireable<string>;
readOnly: PropTypes.Requireable<boolean>;
disabled: PropTypes.Requireable<boolean>;
maxAddNum: PropTypes.Requireable<number>;
createValidator: PropTypes.Requireable<(...args: any[]) => any>;
followTrigger: PropTypes.Requireable<boolean>;
};
static defaultProps: {
onSearch: () => void;
sizeType: string;
placeholder: string;
filterLocal: boolean;
onChange: () => void;
dataSource: any[];
selectType: string;
value: any[];
buttonText: string;
inputPlaceholder: string;
readOnly: boolean;
disabled: boolean;
maxAddNum: any;
validator: () => boolean;
createValidator: () => boolean;
followTrigger: boolean;
};
state: TState;
handleSearch: (value: any) => void;
handleChange: (value: any) => void;
filterParams: (value: any) => any[];
addClick: () => void;
createClick: () => void;
cancelClick: () => void;
inputClick: () => void;
inputChange: (value: any) => void;
generateData: (base: any) => any[];
loadMore: () => void;
deleBtn: (item: any, e: any) => void;
itemRender: (item: any) => JSX.Element;
getLabelParams: () => any[];
render(): JSX.Element;
}
export default CustomSelect;