Navigation Menu

Navigation Menu 是导航语义版的 Menubar:同样的触发器行与展开面板,但对外暴露 navigation 语义,适合站点主导航。下方预览由 pingo 引擎实时渲染,并跟随站点主题切换明暗。

用法

import { createElement } from "@dopejs/pingo";
import { MenubarMenu, NavigationMenu } from "@dopejs/pingo-ui";

root.render(
  createElement(NavigationMenu, {
    onValueChange: (value) => {},
    children: [
      createElement(MenubarMenu, {
        value: "products",
        label: "产品",
        children: createElement("text", { value: "渲染引擎" }),
      }),
      createElement(MenubarMenu, {
        value: "docs",
        label: "文档",
        children: createElement("text", { value: "快速开始" }),
      }),
    ],
  }),
);

条目复用 MenubarMenu。开合默认非受控,传入 value 即切换为受控模式。交互行为(键盘导航、打开位共享)与 Menubar 完全一致。

Props

NavigationMenu 接受 MenubarProps 中除 navigation 外的全部 props:

Prop 类型 默认值 说明
value string 受控:当前打开菜单的值
onValueChange (value: string | undefined) => void 打开菜单变化回调(关闭时为 undefined
children PingoNode 若干 MenubarMenu(必填)
className string 追加类名

条目 props 见 Menubar

无障碍

容器具备 navigation 语义,标签具备 menuitem 语义并暴露 expanded/collapsed 状态;左右方向键在条目间移动,Escape 关闭并聚焦当前标签。

最后更新: