Skip to main content

顶部菜单栏 MenuBar

Menubar 是一个桌面风格的水平菜单栏组件,非常适合用于构建应用程序级菜单导航,比如类似 macOS 的顶部菜单、文件管理器菜单、富文本编辑器的工具栏等。


📦 引入方式

import {
Menubar,
MenubarCheckboxItem,
MenubarContent,
MenubarItem,
MenubarMenu,
MenubarRadioGroup,
MenubarRadioItem,
MenubarSeparator,
MenubarShortcut,
MenubarSub,
MenubarSubContent,
MenubarSubTrigger,
MenubarTrigger,
} from '@npmqg/react-ui-menubar';

🧩 使用示例


🧩 Props

组件名主要属性/Props用法说明
MenubarasChild, className菜单栏容器,通常作为一组 MenubarMenu 的包裹元素。
MenubarMenu单个菜单项组容器,必须嵌套 MenubarTriggerMenubarContent
MenubarTriggerasChild, className, disabled菜单的触发器按钮,点击后显示对应的 MenubarContent
MenubarContentalign, sideOffset, className显示菜单项的容器,可通过 align 控制对齐方式,如 "start", "center", "end"
MenubarItemonSelect, disabled, inset, className普通菜单项,常用于点击执行某个操作。支持快捷键等附加元素。
MenubarShortcutclassName菜单项右侧的快捷键提示文本,一般嵌套于 MenubarItem 中。
MenubarSeparatorclassName菜单项间的分隔线,无交互。用于逻辑分组。
MenubarCheckboxItemchecked, onCheckedChange, disabled, inset复选菜单项,可勾选/取消勾选。
MenubarRadioGroupvalue, onValueChange单选项的容器,配合多个 MenubarRadioItem 使用。
MenubarRadioItemvalue, disabled, inset单选项,用于选择某一项。必须位于 MenubarRadioGroup 中。
MenubarSub子菜单项容器,用于嵌套结构。需与 MenubarSubTriggerMenubarSubContent 配合使用。
MenubarSubTriggerinset, disabled, className触发子菜单的菜单项。
MenubarSubContentclassName, align, sideOffset子菜单的内容容器,显示嵌套菜单项。

📦 依赖项

  • @radix-ui/react-menubar 是一个由 Radix UI 提供的 低级 UI 组件库,它实现了一个完全可访问(accessible)、**无样式(unstyled)**的“菜单栏(Menubar)”组件,专为 React 应用构建桌面风格的导航菜单。

✅ 常见使用场景

使用场景示例说明
桌面应用导航栏(Web App)文件编辑视图帮助模拟系统菜单栏,提供快捷入口
富文本编辑器工具栏字体字号对齐方式可嵌套子菜单、单选/多选等
开发者工具导航项目终端构建支持快捷键显示、菜单项分组
浏览器插件菜单设置账户外观主题弹出式菜单嵌套功能丰富
音乐播放器菜单播放播放列表设置控制播放方式、音效等
文件管理器菜单栏新建导出打印类似桌面软件的用户体验