code-monkey-ui
Version:
A Component Library for Vue 3
87 lines (86 loc) • 3.13 kB
TypeScript
import type { VNode } from 'vue';
export declare type DshCascaderNodeValue = string | number;
export declare type DshCascaderNodePathValue = DshCascaderNodeValue[];
export declare type DshCascaderValue = DshCascaderNodeValue | DshCascaderNodePathValue | (DshCascaderNodeValue | DshCascaderNodePathValue)[];
export declare type DshCascaderConfig = Required<DshCascaderProps>;
export declare type DshExpandTrigger = 'click' | 'hover';
export declare type DshIsDisabled = (data: DshCascaderOption, node: DshNode) => boolean;
export declare type DshIsLeaf = (data: DshCascaderOption, node: DshNode) => boolean;
export declare type DshResolve = (dataList?: DshCascaderOption[]) => void;
export declare type DshLazyLoad = (node: DshNode, resolve: DshResolve) => void;
export declare type DshRenderLabel = ({ node: DshNode, data: DshCascaderOption, }: {
node: any;
data: any;
}) => VNode | VNode[];
export interface DshCascaderOption extends Record<string, unknown> {
label?: string;
value?: DshCascaderNodeValue;
children?: DshCascaderOption[];
disabled?: boolean;
leaf?: boolean;
}
export interface DshCascaderProps {
expandTrigger?: DshExpandTrigger;
multiple?: boolean;
maxCollapseTags?: number;
checkStrictly?: boolean;
emitPath?: boolean;
lazy?: boolean;
lazyLoad?: DshLazyLoad;
value?: string;
label?: string;
children?: string;
disabled?: string | DshIsDisabled;
leaf?: string | DshIsLeaf;
hoverThreshold?: number;
}
export declare type Nullable<T> = null | T;
declare type ChildrenData = DshCascaderOption[] | undefined;
declare class DshNode {
readonly data: Nullable<DshCascaderOption>;
readonly config: DshCascaderConfig;
readonly parent?: DshNode | undefined;
readonly root: boolean;
readonly uid: number;
readonly level: number;
readonly value: DshCascaderNodeValue;
readonly label: string;
readonly pathNodes: DshNode[];
readonly pathValues: DshCascaderNodePathValue;
readonly pathLabels: string[];
childrenData: ChildrenData;
children: DshNode[];
text: string;
loaded: boolean;
/**
* Is it checked
*
* @default false
*/
checked: boolean;
/**
* Used to indicate the intermediate state of unchecked and fully checked child nodes
*
* @default false
*/
indeterminate: boolean;
/**
* Loading Status
*
* @default false
*/
loading: boolean;
constructor(data: Nullable<DshCascaderOption>, config: DshCascaderConfig, parent?: DshNode | undefined, root?: boolean);
get DshIsDisabled(): boolean;
get DshIsLeaf(): boolean;
get valueByOption(): DshCascaderNodeValue | DshCascaderNodePathValue;
appendChild(childData: DshCascaderOption): DshNode;
calcText(allLevels: boolean, separator: string): string;
broadcast(event: string, ...args: unknown[]): void;
emit(event: string, ...args: unknown[]): void;
onParentCheck(checked: boolean): void;
onChildCheck(): void;
setCheckState(checked: boolean): void;
doCheck(checked: boolean): void;
}
export default DshNode;