UNPKG

@imcyk/context-menu

Version:

基于vue3+vite+ts的右键菜单组件,适用于组合式api和选项式api。

84 lines (78 loc) 1.91 kB
/* * @Author: Chen Yankai * @Date: 2022-11-15 15:51:15 * @LastEditTime: 2022-11-28 08:48:22 * @LastEditors: Chen Yankai * @Description: */ export interface DefaultInstallOptions { prefix?: string alias?: string namespace?: string globalMenus?: ContextMenuMemory } export interface ContextMenuInstance { closeMenu(): void } export interface MenuOptions { items: MenuItem[] x: number y: number xOffset?: number yOffset?: number zIndex?: number customClass?: string iconFontClass?: string moreArrow?: string | object maxWidth?: number minWidth?: number maxHeight?: number closeWhenScroll?: boolean namespace?: string key?: string } export interface MenuItem { label?: string | object icon?: string | object disabled?: boolean adjustSubMenuPosition?: boolean clickableWhenHasChildren?: boolean clickClose?: boolean divided?: boolean customClass?: string maxWidth?: number minWidth?: number onClick?: () => void customComponent?: object metadata?: object | string children?: MenuItem[] } export interface MenuItemData { label?: string | object icon?: string | object disabled?: boolean divided?: boolean metadata?: object | string children?: MenuItem[] clickableWhenHasChildren?: boolean clickClose?: boolean iconFontClass?: string showRightArrow: boolean from?: string } export interface ContextMenuPositionData { x: number y: number } export interface SubMenuParentContext { zIndex: number getMyPosition: () => ContextMenuPositionData getParentWidth: () => number addOpenedSubMenu: (closeFn: Function) => void closeOtherSubMenu: () => void closeOtherSubMenuWithTimeOut: () => void checkCloseOtherSubMenuTimeOut: () => boolean } export interface ContextMenuMemory { [key: string]: MenuOptions | MenuItem }