mealcomes
Version:
MealComes 用于学习前端的组件库
105 lines (104 loc) • 3.13 kB
TypeScript
import { ExtractPropTypes, InjectionKey, PropType, SetupContext } from 'vue';
export type Key = string | number;
export interface TreeNode extends Required<TreeOption> {
level: number;
rawNode: TreeOption;
children: TreeNode[];
isLeaf: boolean;
parentKey: Key | undefined;
}
export interface TreeOption {
label?: Key;
key?: Key;
children?: TreeOption[];
isLeaf?: boolean;
disabled?: boolean;
[key: string]: unknown;
}
export declare const treeProps: {
readonly data: {
readonly type: PropType<TreeOption[]>;
readonly default: () => never[];
};
readonly defaultExpandedKeys: {
readonly type: PropType<Key[]>;
readonly default: () => never[];
};
readonly labelField: {
readonly type: StringConstructor;
readonly default: "label";
};
readonly keyField: {
readonly type: StringConstructor;
readonly default: "key";
};
readonly childrenField: {
readonly type: StringConstructor;
readonly default: "children";
};
readonly onLoad: PropType<(node: TreeOption) => Promise<TreeOption[]>>;
readonly selectedKeys: {
readonly type: PropType<Key[]>;
};
readonly selectable: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly multiple: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly defaultCheckedKeys: {
readonly type: PropType<Key[]>;
readonly default: () => never[];
};
readonly showCheckbox: {
readonly type: BooleanConstructor;
readonly default: false;
};
};
export declare const treeEmits: {
'update:selectedKeys': (keys: Key[]) => Key[];
};
export type TreeProps = Partial<ExtractPropTypes<typeof treeProps>>;
export declare const treeNodeProps: {
readonly node: {
readonly type: PropType<TreeNode>;
readonly required: true;
};
readonly expanded: {
readonly type: BooleanConstructor;
readonly required: true;
};
readonly loadingKeys: {
readonly type: PropType<Set<Key>>;
readonly required: true;
};
readonly selectedKeys: {
readonly type: PropType<Key[]>;
readonly default: () => never[];
};
readonly showCheckbox: {
readonly type: BooleanConstructor;
readonly default: false;
};
readonly checked: BooleanConstructor;
readonly disabled: BooleanConstructor;
readonly indeterminate: BooleanConstructor;
};
export declare const treeNodeEmits: {
toggle: (node: TreeNode) => TreeNode;
select: (node: TreeNode, canMulti?: boolean) => TreeNode;
check: (node: TreeNode, val: boolean) => false | TreeNode;
};
export type TreeNodeProps = Partial<ExtractPropTypes<typeof treeNodeProps>>;
export interface TreeContext {
slots: SetupContext['slots'];
}
export declare const treeInjectKey: InjectionKey<TreeContext>;
export declare const treeNodeContentProps: {
readonly node: {
readonly type: PropType<TreeNode>;
readonly required: true;
};
};