Menu
类: Menu
创建原生应用程序菜单和上下文菜单。
进程: 主进程
Electron 的内置类不能在用户代码中被继承。有关更多信息,请参阅 FAQ。
new Menu()
创建一个新的菜单。
静态方法
Menu 类具有以下静态方法
Menu.setApplicationMenu(menu)
menuMenu | null
在 macOS 上将 menu 设置为应用程序菜单。在 Windows 和 Linux 上,menu 将被设置为每个窗口的顶部菜单。
在 Windows 和 Linux 上,您还可以在顶级项目名称中使用 & 来指示应生成哪个字母的加速器。例如,将 &File 用于文件菜单将生成一个 Alt-F 加速器,该加速器将打开关联的菜单。按钮标签中的指示字符随后将带有下划线,并且 & 字符不会显示在按钮标签上。
为了转义项目名称中的 & 字符,添加一个前导 &。例如,&&File 将导致按钮标签上显示 &File。
传递 null 将禁止默认菜单。在 Windows 和 Linux 上,这还会从窗口中删除菜单栏。
如果应用程序未设置菜单,则将自动创建默认菜单。它包含标准项目,例如 File、Edit、View、Window 和 Help。
Menu.getApplicationMenu()
返回 Menu | null - 如果已设置,则返回应用程序菜单,否则返回 null。
返回的 Menu 实例不支持动态添加或删除菜单项。仍然可以动态修改 实例属性。
Menu.sendActionToFirstResponder(action) macOS
action字符串
将 action 发送到应用程序的第一响应者。这用于模拟默认的 macOS 菜单行为。通常您会使用 role 属性的 MenuItem。
有关 macOS 本机操作的更多信息,请参阅 macOS Cocoa 事件处理指南。
Menu.buildFromTemplate(template)
template(MenuItemConstructorOptions | MenuItem)[]
返回 Menu
通常,template 是一个用于构造 MenuItem 的 options 数组。用法如上所述。
您还可以将其他字段附加到 template 的元素,它们将成为构造的菜单项的属性。
实例方法
menu 对象具有以下实例方法
menu.popup([options])
在 BaseWindow 中将此菜单作为上下文菜单弹出。
有关更多详细信息,请参阅 上下文菜单 指南。
menu.closePopup([window])
windowBaseWindow (可选) - 默认情况下是聚焦的窗口。
关闭 window 中的上下文菜单。
menu.append(menuItem)
menuItemMenuItem
将 menuItem 追加到菜单。
menu.getMenuItemById(id)
idstring
返回 MenuItem | null 具有指定 id 的项目
menu.insert(pos, menuItem)
pos整数menuItemMenuItem
将 menuItem 插入到菜单的 pos 位置。
实例事件
使用 new Menu 或 Menu.buildFromTemplate 创建的对象会发出以下事件
某些事件仅在特定操作系统上可用,并已相应标记。
事件: 'menu-will-show'
返回
eventEvent
在调用 menu.popup() 时发出。
事件: 'menu-will-close'
返回
eventEvent
在手动或使用 menu.closePopup() 关闭弹出窗口时发出。
实例属性
menu 对象还具有以下属性
menu.items
一个 MenuItem[] 数组,包含菜单的项目。
每个 Menu 由多个 MenuItem 实例组成,每个 MenuItem 都可以将其 submenu 属性嵌套到一个 Menu 中。