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:
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 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).
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. 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.