UNPKG

react-cascader-popover

Version:
82 lines (81 loc) 1.85 kB
/// <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 };