@aliretail/react-materials-components
Version:
106 lines (105 loc) • 3.19 kB
TypeScript
import * as React from 'react';
import * as PropTypes from 'prop-types';
interface IAreaDataSource {
enableDate: string;
code: string;
divLevel: number;
isFullName: number;
covered: boolean;
name: string;
style: number;
state: number;
followTrigger: boolean;
}
interface IValue {
provCode: string;
cityCode: string;
districtCode: string;
townCode: string;
code: string;
name: string;
}
declare type TProps = typeof GraduallyAreaSelector.defaultProps & {
appCode: string;
apiCode: string;
areaDataSource?: IAreaDataSource[];
isPreview: boolean;
multiple: boolean;
disabled: boolean;
readOnly: boolean;
hasClear: boolean;
placeholder: string;
initValue: any[];
onChange: (value: IValue[]) => void;
extAreaParams?: any;
areaApiUrl?: string;
style?: React.CSSProperties;
requestKey?: string;
};
interface TState {
areaDataSource: any[];
}
interface ItemProps {
children?: any[];
value?: string;
label?: string;
code?: string | number;
name?: string;
isLeaf?: boolean;
divLevel?: number;
}
interface ICityDataProps {
code?: string;
name?: string;
provCode?: string;
cityCode?: string;
districtCode?: string;
townCode?: string;
}
declare class GraduallyAreaSelector extends React.Component<TProps, TState> {
static propTypes: {
appCode: PropTypes.Requireable<string>;
apiCode: PropTypes.Requireable<string>;
areaDataSource: PropTypes.Requireable<any[]>;
isPreview: PropTypes.Requireable<boolean>;
multiple: PropTypes.Requireable<boolean>;
disabled: PropTypes.Requireable<boolean>;
readOnly: PropTypes.Requireable<boolean>;
hasClear: PropTypes.Requireable<boolean>;
followTrigger: PropTypes.Requireable<boolean>;
placeholder: PropTypes.Requireable<string>;
requestKey: PropTypes.Requireable<string>;
initValue: PropTypes.Requireable<any[]>;
onChange: PropTypes.Requireable<(...args: any[]) => any>;
};
static defaultProps: {
onChange: () => void;
followTrigger: boolean;
requestKey: string;
multiple: boolean;
disabled: boolean;
readOnly: boolean;
hasClear: boolean;
isPreview: boolean;
placeholder: string;
};
state: TState;
componentDidMount(): void;
UNSAFE_componentWillReceiveProps(nextProps: TProps): void;
isLeaf: (item: ItemProps) => boolean;
getDataSource: (code?: string) => Promise<any>;
onLoadData: (data?: {
value?: string;
} | any) => Promise<void>;
handleLoadData: (data: any, arr: any[]) => void;
handleData: (data: any[], extra: any) => any[];
handleCityData: (data: {
value?: string;
}, extra: any) => ICityDataProps;
handleDistrictData: (data: ItemProps, extra: any) => ICityDataProps;
handleTownData: (data: ItemProps, extra: any) => ICityDataProps;
cascaderOnChange: (value: string, data: any[], extra: any) => void;
valueRenderFun: (item: ItemProps) => string;
render(): JSX.Element;
}
export default GraduallyAreaSelector;