# Menu 组件详细文档 > 本文档详细描述 Menu 组件的实现细节,包括 API、UI 结构、逻辑流程等,供 AI 根据文档重现组件。 --- ## 1. 组件概述 ### 1.1 基本信息 - **组件名称**: `BimMenu` - **文件路径**: `src/components/menu/index.ts` - **类型定义**: `src/components/menu/item.ts` (配置), `src/components/menu/types.ts` (选项) - **样式文件**: `src/components/menu/index.css` - **实现接口**: `IBimComponent`, `IRightKeyContent` - **用途**: 渲染一组菜单项,支持分组、排序、图标、快捷键提示和无限级递归子菜单。 - **特点**: 纯数据驱动(基于 `MenuItemConfig`),内置国际化支持。 ### 1.2 在 SDK 中的位置 - Menu 组件主要由 `RightKeyManager` 使用,作为右键菜单的内容载体。 - 也可以单独实例化并挂载到任何容器中。 - `RightKeyManager` 位于 `src/managers/right-key-manager.ts`。 --- ## 2. 组件类 API 文档 ### 2.1 构造函数 ```typescript constructor(options: MenuOptions) ``` **参数**: - `options`: `MenuOptions` - 菜单配置选项 **MenuOptions 定义**: ```typescript interface MenuOptions { items: MenuItemConfig[]; // 菜单项配置列表 groupOrder?: string[]; // 分组显示顺序 } ``` **行为**: - 创建根元素 `