gtht-miniapp-sdk
Version:
gtht-miniapp-sdk 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库
105 lines (104 loc) • 3.43 kB
TypeScript
import { type StyleValue } from 'vue';
import { type NodeRect } from '../../utils';
export interface TreeNode {
title?: string | number;
key?: any;
children?: TreeNode[];
disabled?: boolean;
[prop: string]: any;
}
export interface TreeCleanNode {
title: string | number;
key: string | number;
children?: TreeCleanNode[];
}
export interface TreeStateNode {
title: string | number;
key: string | number;
expanded: boolean;
checked: boolean;
children?: TreeStateNode[];
parent: TreeStateNode | null;
indeterminate: boolean;
level: number;
offsetLevel: number;
visible: boolean;
disabled: boolean;
}
export interface TreeNodeKeys {
title?: string;
key?: string;
children?: string;
}
export declare const defaultNodeKeys: {
title: string;
key: string;
children: string;
};
export interface TreeProps {
rootStyle?: StyleValue;
rootClass?: string;
data?: TreeNode[];
nodeKeys?: TreeNodeKeys;
defaultExpandAll?: boolean;
defaultExpandedKeys?: (string | number)[];
accordion?: boolean;
selectable?: boolean;
checkStrictly?: boolean;
singleSelectable?: boolean;
leafOnly?: boolean;
current?: string | number;
defaultCheckedKeys?: (string | number)[];
draggable?: boolean;
editable?: boolean;
filterMode?: 'lenient' | 'strict';
filterMethod?: (value: string, node: TreeStateNode) => boolean;
}
export declare const defaultTreeProps: () => {
data: () => never[];
defaultExpandAll: boolean;
filterMode: TreeProps["filterMode"];
accordion: boolean;
};
export interface TreeEmits {
(e: 'update:current', key: string | number, node: TreeStateNode): void;
(e: 'select', key: string | number, node: TreeStateNode): void;
}
export interface TreeExpose {
setExpanded: (key: string | number, expanded: boolean) => void;
toggleExpanded: (key: string | number) => void;
setExpandedKeys: (keys: (string | number)[]) => void;
getExpandedKeys: () => (string | number)[];
getCheckedKeys: () => (string | number)[];
getHalfCheckedKeys: () => (string | number)[];
setCheckedKeys: (keys: (string | number)[]) => void;
setChecked: (key: string | number, checked: boolean) => void;
addRootNode: () => void;
getCleanTreeData: () => TreeCleanNode[];
filter: (searchString: string) => void;
}
export interface TreeNodeProps {
node: TreeStateNode;
index: number;
}
export interface TreeBranchProps {
nodes: TreeStateNode[];
}
export interface TreeContext {
selectable: TreeProps['selectable'];
draggable: TreeProps['draggable'];
editable: TreeProps['editable'];
singleSelectable: TreeProps['singleSelectable'];
leafOnly: TreeProps['leafOnly'];
treeData: TreeStateNode[];
setExpandedByNode: (node: TreeStateNode, expanded: boolean) => void;
toggleExpandedByNode: (node: TreeStateNode) => void;
setCheckedByNode: (node: TreeStateNode, checked: boolean) => void;
levelup: (node: TreeStateNode) => void;
leveldown: (node: TreeStateNode) => void;
edit: (node: TreeStateNode, getEditRect: () => Promise<NodeRect>) => void;
drop: (dropOriginNode: TreeStateNode, dropTargetNode: TreeStateNode, position: number) => void;
currentKey: string | number | undefined;
singleSelect: (node: TreeStateNode) => void;
}
export declare const treeContextSymbol: unique symbol;