Clase: MenuItem
Clase: MenuItem
Agregue elementos a los menús y menús de contexto de la aplicación nativa.
Proceso: principal
See Menu for examples.
[!WARNING] Electron's built-in classes cannot be subclassed in user code. For more information, see the FAQ.
new MenuItem(options)
acceleratorWorksWhenHidden is specified as being macOS-only because accelerators always work when items are hidden on Windows and Linux. La opción esta expuesta a los usuarios para darles a ellos la opción de apagarla, ya que esto es posible el el desarrollo nativo de macOS.
Roles
Los roles le permiten a los elementos del menú tener comportamientos predeterminados.
Es mejor especificar el rol para todos los elementos del menú de tal manera que coincidan con los roles estandar, en vez de tratar de implementar un comportamiento manualmente en una función click. El comportamiento incorporador rol dará la mejor experiencia nativa.
Los valores de etiqueta y acelerador son opcionales mientras se usa un rol y por defecto se apropiarán valores de cada plataforma.
Cada elemento del menu deve tener un role, label, o en el caso de un separador un type.
La propiedad role puede tener los siguientes valores:
deshacerabout- Lanza un panel de "acerca de" nativo (Cuadro de diálogo personalizado en ventana, cuando no se proporciona uno).rehacercortarcopiarpegarpasteAndMatchStyleselectAlleliminarminimize- Minimizar la venta actual.close- Cerrar la ventana actual.quit- Salir de la aplicación.reload- Recargar la ventana actual.forceReload- Recargar la ventana actual ignorando la caché.toggleDevTools- Alternar herramientas de desarrollador en la ventana actual.togglefullscreen- Alterna al modo de pantalla completa en la ventana actual.resetZoom- Restablece el nivel de zoom de la página enfocada al tamaño original.zoomIn- Zoom en la página enfocada en un 10%.zoomOut- Aleja la página enfocada en un 10%.toggleSpellChecker- Activar/desactivar el corrector ortográfico incorporado.fileMenu- Todo el menú "Archivo" por defecto (Cerrar / Salir)editMenu- Grupo por defecto de un menú "Edit" (Deshacer, Copiar, etc.).viewMenu- Todo el menú "Vista" por defecto (Recargar, Activar Herramientas del Desarrollador, etc.)windowMenu- Todo el menú "Ventana" por defecto (Minimizar, Zoom, etc.).
Los siguientes roles adicionales están disponibles en macOS:
appMenu- Todo el menú "App" por defecto (Acerca de, Servicios, etc.)hide- Enlace a la acciónhide.hideothers- Enlace a la acciónhideOtherApplications.unhide- Enlace a la acciónunhideAllApplications.showSubstitutions- Enlace a la acciónorderFrontSubstitutionsPanel.toggleSmartQuotes- Enlace a la accióntoggleAutomaticQuoteSubstitution.toggleSmartDashes- Enlace a la accióntoggleAutomaticDashSubstitution.toggleTextReplacement- Enlace a la accióntoggleAutomaticTextReplacement.startspeaking- Enlace a la acciónstartSpeaking.stopspeaking- Enlace a la acciónstopSpeaking.front- Enlace a la acciónarrangeInFront.zoom- Enlace a la acciónperformZoom.toggletabbar- Enlace a la accióntoggleTabBar.selectnexttab- Enlace a la acciónselectNextTab.selectprevioustab- Enlace a la acciónselectPreviousTab.showAllTabs- Map to theshowAllTabsaction.mergeallwindows- Enlace a la acciónmergeAllWindows.movetabtonewwindow- Enlace a la acciónmoveTabToNewWindow.window- El submenú es un menú "Ventana".help- El submenú es un menú "Ayuda".services- El sub menú es una menú "Services". Esto está destinado únicamente para su uso en el menú de la aplicación y no es lo mismo que el submenú "Servicios" utilizado en los menús contextuales de las aplicaciones de macOS, el cual no está implementado en Electron.recentDocuments- El submenú es un menú "Abrir reciente".clearRecentDocuments- Enlace a la acciónclearRecentDocuments.shareMenu- El submenú es share menu. La propiedadsharingItemdebe establecerse para indicar el elemento a compartir.
Al especificar un role en macOS, label y accelerator son las únicas opciones que afectarán el elemento del menú. Todas las demás opciones serán ignoradas. Los role en minúscula, por ejemplo, toggledevtools, todavía son soportados.
[!NOTE] The
enabledandvisibilityproperties are not available for top-level menu items in the tray on macOS.
Propiedades de la instancia
Las siguientes propiedades están disponibles en instancias del menú de elementos:
menuItem.id
Un string indicando la etiqueta visible del elemento, esta propiedad puede ser cambiada dinámicamente.
menuItem.label
Un string indicando la etiqueta visible del elemento.
menuItem.click
Una función que se desencadena cuando los elementos del menú reciben un evento click. Puede ser llamado con menuItem.click(event, focusedWindow, focusedWebContents).
eventKeyboardEventfocusedWindowBaseWindowfocusedWebContentsWebContents
menuItem.submenu
Un Menú (opcional) que contiene el submenú del menú elemento, si está presente.
menuItem.type
Un string indicando el tipo del elemento. Can be normal, separator, submenu, checkbox, radio, header or palette.
header and palette are only available on macOS 14 and up.
menuItem.role
Una string (opcional) indicando el rol del elemento, si está establecido. Can be 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, showAllTabs, mergeAllWindows, clearRecentDocuments, moveTabToNewWindow or windowMenu
menuItem.accelerator
Un Accelerator (opcional) indicando el acelerador del elemento, si está establecido.
menuItem.userAccelerator Readonly macOS
Un Accelerator | null indicando el user-assigned accelerator del elemento para el menú del elemento.
[!NOTE] This property is only initialized after the
MenuItemhas been added to aMenu. Ya sea a través deMenu.buildFromTemplateo a través deMenu.append()/insert(). Accediendo antes de la inicialización solo devolveránull.
menuItem.icon
A NativeImage | string (optional) indicating the item's icon, if set.
menuItem.sublabel
A string indicating the item's sublabel.
menuItem.toolTip macOS
A string indicating the item's hover text.
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.
Un elemento del menú checkbox que cambiará la propiedad verificado en sí y no cuando se selecciona.
Un elemento del menú radio que activará su propiedad verificado cuando se haga click en él, y que desactivará su propiedad para todos los elementos adyacentes en el mismo menú.
Puede añadir la función click para comportamientos adicionales.
menuItem.registerAccelerator
A boolean indicating if the accelerator should be registered with the system or just displayed.
Esta propiedad puede ser cambiada dinámicamente.
menuItem.sharingItem macOS
Un SharingItem indicando el elemento a compartir cuando el role es shareMenu.
Esta propiedad puede ser cambiada dinámicamente.
menuItem.commandId
A number indicating an item's sequential unique id.
menuItem.menu
Un Menu del cual el elemento es parte.