# Menu 组件文档 ## 1. 组件概述 `BimMenu` 是一个通用的菜单列表组件。 - **位置**: `src/components/menu/index.ts` - **功能**: 渲染一组 `BimMenuItem`,支持分组、排序、图标、快捷键提示和多级子菜单。 - **特点**: 数据驱动(通过 Item 类实例),支持国际化。 ## 2. 组件类 API ### `BimMenu` #### 构造函数 `new BimMenu(options: MenuOptions)` #### 方法 | 方法名 | 参数 | 返回值 | 描述 | |:----|:---|:---|:---| | `init` | `()` | `void` | 初始化,渲染 DOM | | `destroy` | `()` | `void` | 销毁,清理事件和子菜单 | | `getElement` | `()` | `HTMLElement` | 获取根 DOM 元素 (实现 IRightKeyContent) | ### `BimMenuItem` (基类) 所有菜单项必须继承此抽象类。 | 方法/属性 | 类型 | 描述 | |:----|:---|:---| | `id` | `string` | 唯一标识 | | `group` | `string` | 分组 ID (默认 'default') | | `order` | `number` | 排序权重 | | `getLabel()` | `string` | 获取显示文本 | | `onClick()` | `void` | 点击回调 | | `getIcon()` | `string?` | 获取图标 HTML | | `getChildren()` | `BimMenuItem[]?` | 获取子菜单项 | ## 3. UI 详细描述 - **根元素**: `