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.
new MenuItem(options)
Note: acceleratorWorksWhenHidden
es especificado como siendo macOS-solo porque los aceleradores siempre trabajan cuando los items son ocultados en Windows y 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 estándar, 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:
deshacer
about
- Lanza un panel de "acerca de" nativo (Cuadro de diálogo personalizado en ventana, cuando no se proporciona uno).rehacer
cortar
copiar
pegar
pasteAndMatchStyle
selectAll
eliminar
minimize
- 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 theshowAllTabs
action.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 propiedadsharingItem
debe 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 enabled
and visibility
properties 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)
.
event
KeyboardEventfocusedWindow
BaseWindowfocusedWebContents
WebContents
menuItem.submenu
Un Menú
(opcional) que contiene el submenú del menú elemento, si está presente.
menuItem.type
Un string
indicando el tipo del elemento. Puede ser normal
, separator
, submenu
, checkbox
o radio
.
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.
Nota: Esta propiedad es solo inicializada después de que MenuItem
a sido agregada al Menu
. Ya sea a través de Menu.buildFromTemplate
o a través de Menu.append()/insert()
. Accediendo antes de la inicialización solo devolverá null
.
menuItem.icon
Una NativeImage | string
(opcional) indicando el icono del elemento, si estuviera establecido.
menuItem.sublabel
Un string
indicando la sub-etiqueta del elemento.
menuItem.toolTip
macOS
Un string
indicando el texto flotante del elemento.
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
Un boolean
que indica si el acelerador debe ser registrado con el sistema o solo mostrado.
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
Un number
indicando el id único secuencial de un elemento.
menuItem.menu
Un Menu
del cual el elemento es parte.