xdesign-vue-next
Version:
XDesign Component for vue-next
28 lines (27 loc) • 761 B
TypeScript
import { Slot } from 'vue';
import type { TdMenuItemProps } from './type';
declare type MenuValue = string | number;
declare type MenuNode = MenuValue | VMenuData;
interface VMenuData {
value: MenuValue;
parent?: MenuNode;
children: VMenuData[];
vnode?: Slot;
}
interface VMenuItem extends TdMenuItemProps {
value?: MenuValue;
parent: MenuValue;
vnode?: Slot;
}
export default class VMenu {
data: VMenuData;
cache: Set<VMenuData>;
isMutex: import("vue").Ref<boolean>;
expandValues: Set<MenuValue>;
constructor(options: Record<string, any>);
add(item: VMenuItem): void;
select(val: MenuValue): MenuValue[];
expand(val: MenuValue): MenuValue[];
getChild(value: MenuValue): VMenuData[];
}
export {};