导航菜单
除 getByNames(names) 自 Halo 2.27.0 起可用外,本页其他 API 自 Halo 2.0.0 起可用。
从 Halo 2.26.0 开始,菜单项通过 MenuItem.spec.menuName 归属菜单,并通过 MenuItem.spec.parent 记录父级。menuFinder 返回的 menu.menuItems 已按该关系组成树;请通过每个节点的 children 渲染子菜单,不要读取已弃用的 Menu.spec.menuItems 或 MenuItem.spec.children。
getByName(name)
描述
根据 metadata.name 获取菜单。
参数
name:string- 菜单的唯一标识metadata.name。
返回值
示例
getByNames(names)
自 Halo 2.27.0 起可用。
描述
根据一组 metadata.name 批量获取菜单及其菜单项树,适用于需要同时展示多个菜单的场景。
- 按传入集合的迭代顺序返回菜单,重复标识只保留第一次出现的位置。
- 不存在的菜单会被跳过,不会因此报错。
- 传入空集合或
null时返回空列表。 - 每个菜单的
menuItems包含根菜单项,子菜单通过节点的children获取。
参数
names:Collection<string>- 菜单的唯一标识metadata.name的集合。
返回值
List<#MenuVo>
示例
以下示例按顺序获取两个菜单,并复用下方 getPrimary() 示例 中的 /templates/modules/menu-tree.html 片段渲染完整菜单树。请将示例标识替换为实际菜单的 metadata.name。
getPrimary()
描述
获取主菜单。
参数
无
返回值
示例
/templates/modules/menu-tree.html
类型定义
MenuVo
MenuVo
MenuItemVo
MenuItemVo
Target