程序坞菜单¶
在 macOS 上,程序坞 是一个界面 元素,用于显示已打开和经常使用的应用。在应用打开或固定时,每个应用都会在程序坞中拥有自己的 图标。
[!NOTE] 在 macOS 上,程序坞是某些跨平台功能的入口,例如 最近文档 和 应用进度。 请阅读这些指南以获取更多详细信息。
程序坞 API¶
程序坞的所有功能都通过 app.dock 属性暴露的
Dock 类来提供。每个 Electron 应用只有一个 Dock 实例,并且该属性仅存在于
macOS 上。
你的应用的程序坞图标的主要用途之一是提供额外的应用菜单。程序坞菜单通过右键单击或 Ctrl 单击应用图标来触发。默认情况下,应用的程序坞菜单会包含系统提供的窗口管理工具, 包括显示所有窗口、隐藏应用以及在不同打开的窗口之间切换的功能。
要设置应用自定义的程序坞菜单,请将任意 Menu 实例传入
dock.setMenu API。
[!NOTE]
MenuItem上的badge不会在程序坞菜单中显示, 尽管同一项目会在应用菜单中显示它。[!TIP] 有关让你的程序坞菜单更具原生感的最佳实践,请参阅 Apple 的 人机界面指南 中关于程序坞菜单的页面。
附加上下文菜单¶
const { app, BrowserWindow, Menu } = require('electron/main')
// dock.setMenu only works after the 'ready' event is fired
app.whenReady().then(() => {
const dockMenu = Menu.buildFromTemplate([
{
label: 'New Window',
click: () => { const win = new BrowserWindow() }
}
// add more menu options to the array
])
// Dock is undefined on platforms outside of macOS
// highlight-next-line
app.dock?.setMenu(dockMenu)
})
[!NOTE] 与常规 上下文菜单 不同,程序坞上下文菜单无需使用
menu.popupAPI 手动 处理。相反,程序坞对象会为你处理点击事件。[!TIP] 要了解有关在 Electron 中创建菜单的更多信息,请参阅 菜单 指南。
可运行的 Fiddle 演示¶
下面是一个可运行的示例,展示如何使用程序坞菜单在你的 Electron 应用中创建和关闭窗口。
fiddle docs/fiddles/menus/dock-menu
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 el/electron