zent
Version:
一套前端设计语言和基于React的实现
53 lines (52 loc) • 2.13 kB
TypeScript
/// <reference types="react" />
export interface ICascaderBaseProps {
options: IPublicCascaderItem[];
placeholder?: string;
className?: string;
popupClassName?: string;
disabled?: boolean;
clearable?: boolean;
visible?: boolean;
onVisibleChange?: (visible: boolean) => void;
renderValue?: (selectedOptions: ICascaderItem[]) => React.ReactNode;
renderItemContent?: (node: ICascaderItem) => React.ReactNode;
getItemTooltip?: (node: ICascaderItem) => string | undefined;
renderList?: (nodes: ICascaderItem[], renderItem: (node: ICascaderItem) => React.ReactNode) => React.ReactNode;
}
export declare type CascaderValue = string | number;
export declare type CascaderItemSelectionState = 'on' | 'off' | 'partial';
export declare type CascaderSimplifySelectionMode = 'excludeDisabled' | 'includeDisabled';
export interface IPublicCascaderItem {
value: CascaderValue;
label: string;
children?: IPublicCascaderItem[];
disabled?: boolean;
loadChildrenOnExpand?: boolean;
loadChildrenOnScroll?: boolean;
[key: string]: unknown;
}
export interface ICascaderItem extends IPublicCascaderItem {
children: ICascaderItem[];
parent: ICascaderItem | null;
}
export declare type CascaderTabsClickHandler = (node: ICascaderItem, closePopup: () => void) => void;
export declare type CascaderMenuClickHandler = (node: ICascaderItem, closePopup: () => void) => void;
export declare type CascaderMenuHoverHandler = (node: ICascaderItem) => void;
export declare type CascaderSearchClickHandler = (path: ICascaderItem[], closePopup: () => void) => void;
export declare enum CascaderChangeAction {
Clear = "clear",
Change = "change"
}
export interface ICascaderChangeMeta {
action: CascaderChangeAction;
}
export interface ICascaderMultipleChangeMeta extends ICascaderChangeMeta {
simplify(options: Array<ICascaderItem[]>, mode: CascaderSimplifySelectionMode): Array<ICascaderItem[]>;
}
export declare enum CascaderLoadAction {
LoadChildren = "loadChildren",
Scroll = "scroll"
}
export interface ICascaderLoadMeta {
action: CascaderLoadAction;
}