react-cascader-popover
Version:
react级联选择器/支持多选/单选
82 lines (81 loc) • 1.85 kB
TypeScript
/// <reference types="react" />
import "./cascader.css";
import "./search.css";
export interface CascaderOption {
label: string;
value: string;
/**
* 禁用
*/
disabled?: boolean;
/**
* 是否有下级 true=有下级 false=无下级
*/
isLoad?: boolean;
children?: CascaderOption[];
}
export interface CascaderOptionMultiple extends CascaderOption {
checked?: boolean;
indeterminateChecked?: boolean;
children?: CascaderOptionMultiple[];
isLoading?: boolean;
cascaderNodeId?: string;
parentCascaderNodeId?: string;
}
export interface IListIF {
list: CascaderOptionMultiple[];
index: number;
checked?: boolean;
indeterminateChecked?: boolean;
}
interface CascaderProps {
/**
* 选中项ID
*/
value?: string;
/**
* 是否打开
*/
open: boolean;
/**
* 目标元素的DOM
*/
anchorEl: HTMLDivElement | null;
/**
* {label: string;
* value: string;
* children:[]}
*/
options: CascaderOption[];
/**
* 选中项ID
*/
onChange: (value: CascaderOption | null, valueAll: CascaderOption[]) => void;
onClose: () => void;
/**
* 多选
*/
multiple?: boolean;
/**
* 是否开启搜索
*/
search?: boolean;
/**
* 搜索输入框的placeholder
*/
searchPlaceholder?: string;
/**
* 搜索空提示信息
*/
searchEmptyText?: string;
/**
*动态加载数据
*/
loadData?: (value: CascaderOption) => Promise<CascaderOption[]>;
}
export interface CascaderRefProps {
setValue: (value: string[]) => void;
clearValue: () => void;
}
declare const Cascader: import("react").ForwardRefExoticComponent<CascaderProps & import("react").RefAttributes<CascaderRefProps>>;
export { Cascader };