@fesjs/fes-design
Version:
fes-design for PC
41 lines (40 loc) • 1.14 kB
TypeScript
import type { Ref, VNodeChild } from 'vue';
export type TreeNodeKey = string | number;
export interface TreeOption {
value?: TreeNodeKey;
label?: string | (() => VNodeChild);
children?: TreeOption[];
disabled?: boolean;
selectable?: boolean;
checkable?: boolean;
draggable?: boolean;
isLeaf?: boolean;
prefix?: string | (() => VNodeChild);
suffix?: string | (() => VNodeChild);
[key: string]: any;
}
export interface InnerTreeOption extends TreeOption {
origin?: TreeOption;
parent?: TreeOption;
level?: number;
hasChildren?: boolean;
indexPath?: TreeNodeKey[];
childrenPath?: TreeNodeKey[];
children?: InnerTreeOption[];
isExpanded?: Ref<boolean>;
isChecked?: Ref<boolean>;
isIndeterminate?: Ref<boolean>;
}
interface TreeEventParams {
node: TreeOption;
event: Event;
selected: boolean;
}
export interface SelectParams extends TreeEventParams {
selectedKeys: TreeNodeKey[];
}
export interface CheckParams extends TreeEventParams {
checkedKeys: TreeNodeKey[];
}
export type DropPosition = 'before' | 'inside' | 'after';
export {};