跳转到主内容

NotificationAction 对象

  • type string - The type of action, can be button or selection. selection is only supported on Windows.
  • text 类型:String(可选) - 给定操作的标签。
  • items string[] (optional) Windows - The list of items for the selection action type.

平台 / 操作 支持

操作类型平台支持text 参数text 参数默认值局限性
buttonmacOS, Windowsbutton 显示的内容"Show" on macOS (localized) if first button, otherwise empty; Windows uses provided textmacOS: Only the first one is used as primary; others shown as additional actions (hover). Incompatible with hasReply (beyond first ignored).
selectionWindowsUsed as the label for the submit button for the selection menu"选择"Requires an items array property specifying option labels. Emits the action event with (index, selectedIndex) where selectedIndex is the chosen option (>= 0). Ignored on platforms that do not support selection actions.

MacOS系统上的按钮支持

为了在 macOS 上使用额外的通知按钮, 您的应用程序必须符合以下标准。

  • 应用程序已签名
  • App has its NSUserNotificationAlertStyle set to alert in the Info.plist.

这些要求如果有一个不满足,按钮就不会显示。

Selection support on Windows

To add a selection (combo box) style action, include an action with type: 'selection', a text label for the submit button, and an items array of strings:

const { Notification, app } = require('electron')

app.whenReady().then(() => {
const items = ['One', 'Two', 'Three']
const n = new Notification({
title: 'Choose an option',
actions: [{
type: 'selection',
text: 'Apply',
items
}]
})

n.on('action', (e) => {
console.log(`User triggered action at index: ${e.actionIndex}`)
if (e.selectionIndex > 0) {
console.log(`User chose selection item '${items[e.selectionIndex]}'`)
}
})

n.show()
})

When the user activates the selection action, the notification's action event will be emitted with two parameters: actionIndex (the action's index in the actions array) and selectedIndex (the zero-based index of the chosen item, or -1 if unavailable). On non-Windows platforms selection actions are ignored.