MenuItem
Classe : MenuItem
Ajoute des éléments aux menus et menus contextuels natifs de l’application.
Process: Main
Voir Menu pour des exemples.
[!WARNING] Electron's built-in classes cannot be subclassed in user code. For more information, see the FAQ.
new MenuItem(options)
- Objet
options- Function (facultatif)
click- Sera appelée parclick(menuItem, window, event)lorsque l'élément de menu est cliqué.menuItemMenuItemwindowBrowserWindow | undefined - Cela ne sera pas défini si aucune fenêtre n'est ouverte.eventKeyboardEvent
roleString (facultatif) - Peut prendre une des valeurs suivantes:undo,redo,cut,copy,paste,pasteAndMatchStyle,delete,selectAll,reload,forceReload,toggleDevTools,resetZoom,zoomIn,zoomOut,toggleSpellChecker,togglefullscreen,window,minimize,close,help,about,services,hide,hideOthers,unhide,quit,startSpeaking,stopSpeaking,zoom,front,appMenu,fileMenu,editMenu,viewMenu,shareMenu,recentDocuments,toggleTabBar,selectNextTab,selectPreviousTab,mergeAllWindows,clearRecentDocuments,moveTabToNewWindowouwindowMenu- Définit l'action de l'élément de menu, la propriétéclicksera ignorée lorsque un rôle est spécifié. See roles.typestring (facultatif)normalseparatorsubmenucheckboxradioheader- Only available on macOS 14 and up.palette- Only available on macOS 14 and up.
labelstring (facultatif)sublabelstring (facultatif) macOS - Disponible sous macOS >= 14.4toolTipstring (facultatif) macOS - Texte s'affichant au survol de cet item de menu.acceleratorstring (optional) - An Accelerator string.icon(NativeImage | string) (facultatif)enabledboolean (facultatif) - Si définit à false, l'élément de menu sera grisé et non cliquable.acceleratorWorksWhenHiddenbooléen (facultatif) macOS - la valeur par défaut esttrue, et la valeurfalseempêche l’accélérateur de déclencher l’élément si celui-ci n’est pas visible.visibleboolean (facultatif) - Si false, l'élément de menu sera entièrement masqué.checkedboolean (facultatif) - Ne doit être spécifié que pour les éléments de menu de typecheckboxouradio.registerAcceleratorboolean (facultatif) Linux Windows - Si false, l'accélérateur ne sera pas enregistré par le système, mais il sera toujours affiché. La valeur par défaut est true.sharingItemSharingItem (facultatif) macOS - L'élément à partager lorsque leroleest àshareMenu.sous-menu(MenuItemConstructorOptions[] | Menu) (facultatif) - Doit être spécifié poursous-menutype éléments de menu. Sisous-menuest spécifié, letype: 'submenu'peut être omis. Si la valeur n'est pas unMenualors elle sera automatiquement convertie en un en utilisantMenu.buildFromTemplate.idstring (facultatif) - Unique dans chaque menu. Si il est défini, il pourra être utilisé comme référence pour cet élément à l'ai de de l'attribut position.beforestring[] (optional) - Inserts this item before the item with the specified id. Si l'élément référencé n'existe pas, l'élément sera inséré à la fin du menu. Implique également que l'élément de menu en question doit être placé dans le même « groupe ».afterstring[] (optional) - Inserts this item after the item with the specified id. Si l'élément référencé n'existe pas, l'élément sera inséré à la fin du menu.beforeGroupContainingstring[] (optional) - Provides a means for a single context menu to declare the placement of their containing group before the containing group of the item with the specified id.afterGroupContainingstring[] (optional) - Provides a means for a single context menu to declare the placement of their containing group after the containing group of the item with the specified id.
- Function (facultatif)
acceleratorWorksWhenHidden is specified as being macOS-only because accelerators always work when items are hidden on Windows and Linux. L'option est exposée aux utilisateurs pour leur donner la possibilité de la désactiver, car cela est possible dans le développement natif de macOS.
Propriétés d'instance
Les propriétés suivantes sont disponibles pour les instances de MenuItem :
menuItem.id
A string indicating the item's unique id. This property can be dynamically changed.
menuItem.label
string indique le label visible de l'item.
menuItem.click
Function qui est activée lorsque l'élément MenuItem reçoit un événement de click. Elle peut être appelée par menuItem.click(event, focusedWindow, focusedWebContents).
eventKeyboardEventfocusedWindowBaseWindowfocusedWebContentsWebContents
menuItem.submenu
Un Menu (facultatif) contenant le sous-menu de l'élément de menu s'il est présent.
menuItem.type
string indique le type de l'item. Can be normal, separator, submenu, checkbox, radio, header or palette.
header and palette are only available on macOS 14 and up.
menuItem.role
string (facultatif) indiquant, si défini, le rôle de l'item. Peut prendre une des valeurs suivantes: undo, redo, cut, copy, paste, pasteAndMatchStyle, delete, selectAll, reload, forceReload, toggleDevTools, resetZoom, zoomIn, zoomOut, toggleSpellChecker, togglefullscreen, window, minimize, close, help, about, services, hide, hideOthers, unhide, quit, startSpeaking, stopSpeaking, zoom, front, appMenu, fileMenu, editMenu, viewMenu, shareMenu, recentDocuments, toggleTabBar, selectNextTab, selectPreviousTab, mergeAllWindows, clearRecentDocuments, moveTabToNewWindow ou windowMenu
menuItem.accelerator
Un Accelerator (facultatif) qui indique , si défini, l'accélérateur de l'item.
menuItem.userAccelerator Readonly macOS
Accelerator | null indiquant l'accélérateur assigné par l'utilisateur de l'élément du menu.
[!NOTE] This property is only initialized after the
MenuItemhas been added to aMenu. Et ceci viaMenu.buildFromTemplateouMenu.append()/insert(). L'accès avant l'initialisation ne fera que renvoyernull.
menuItem.icon
Un NativeImage | string (facultatif) indiquant si défini l'icône de l'élément .
menuItem.sublabel
Un string indiquant le sulabel de l'item.
menuItem.toolTip macOS
Une string indique le texte au survol de l'élément.
menuItem.enabled
A boolean indicating whether the item is enabled. This property can be dynamically changed.
menuItem.visible
A boolean indicating whether the item is visible. This property can be dynamically changed.
menuItem.checked
A boolean indicating whether the item is checked. This property can be dynamically changed.
Une case à cocher lien de menu activera et éteindra la propriété cochée lorsque sera sélectionné.
Un lien de menu radio activera sa propriété cochée une fois cliqué, et désactivera cette propriété pour tous les éléments adjacents du même menu.
Vous pouvez ajouter une fonction clic pour un comportement supplémentaire.
menuItem.registerAccelerator
Booléen indiquant si l'accélérateur doit être enregistré dans le système ou uniquement affiché.
Cette propriété peut être modifiée dynamiquement.
menuItem.sharingItem macOS
SharingItem indiquant l'élément à partager lorsque le role est shareMenu.
Cette propriété peut être modifiée dynamiquement.
menuItem.commandId
number indiquant l'identifiant séquentiel unique d'un élément.
menuItem.menu
Un Menu dont l'item fait partie.