メインコンテンツへ飛ぶ

MenuItem

Class: MenuItem

ネイティブアプリケーションメニューとコンテキストメニューに項目を追加します。

Process: Main

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)

  • options Object
    • click Function (任意) - メニューアイテムがクリックされたとき、 click(menuItem, window, event) で呼び出されます。
      • menuItem MenuItem
      • window BaseWindow | undefined - ウインドウが開かれていないときは undefined になります。
      • event KeyboardEvent
    • role string (任意) - 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, showSubstitutions, toggleSmartQuotes, toggleSmartDashes, toggleTextReplacement, startSpeaking, stopSpeaking, zoom, front, appMenu, fileMenu, editMenu, viewMenu, shareMenu, recentDocuments, toggleTabBar, selectNextTab, selectPreviousTab, showAllTabs, mergeAllWindows, clearRecentDocuments, moveTabToNewWindow, windowMenu のいずれかにできます。メニューアイテムのアクションを定義します。指定すると click プロパティは無視されます。 See roles.
    • type string (任意)
      • normal
      • separator
      • submenu
      • チェックボックス
      • radio
      • header - Only available on macOS 14 and up.
      • palette - Only available on macOS 14 and up.
    • label string (任意)
    • sublabel string (optional) macOS - Available in macOS >= 14.4
    • toolTip string (任意) macOS - このメニューアイテムに浮かび上がるテキスト。
    • accelerator string (optional) - An Accelerator string.
    • icon (NativeImage | string) (optional)
    • enabled boolean (任意) - もし false なら、メニューアイテムは灰色になりクリックできません。
    • acceleratorWorksWhenHidden boolean (任意) macOS - 省略値は true です。false のときは、アイテムが表示されていない場合にアクセラレータがアイテムをトリガーするのを防ぎます。
    • visible boolean (任意) - もし false なら、メニューアイテムは全く見えなくなります。
    • checked boolean (任意) - type が checkboxradio のメニューアイテムに対しては指定する必要があります。
    • registerAccelerator boolean (任意) Linux Windows - false の場合、アクセラレータはシステムに登録されませんが、それでも表示はされます。 省略値は true です。
    • sharingItem SharingItem (任意) macOS - roleshareMenu の場合に共有するアイテムです。
    • submenu (MenuItemConstructorOptions[] | Menu) (任意) - submenu 型メニューアイテムを指定する必要があります。 もし submenu を指定した場合、type: 'submenu' は省略できます。 値が Menu でない場合は、Menu.buildFromTemplate を用いて自動的に変換されます。
    • id string (任意) - 単一のメニュー内で一意。 宣言されている場合は、位置属性によってこのアイテムへの参照として使用できます。
    • before string[] (任意) - 指定した ID の前にこのアイテムを挿入します。 参照された項目が存在しない場合、アイテムはメニューの最後に挿入されます。 また、与えられたメニューアイテムをそのアイテムと同じ「グループ」に配置する必要があることを意味します。
    • after string[] (任意) - 指定した ID の後にこのアイテムを挿入します。 参照された項目が存在しない場合、アイテムはメニューの最後に挿入されます。
    • beforeGroupContaining string[] (任意) - 単一のコンテキストメニューで、指定された ID のアイテムを含むグループの前に、そのグループの配置を宣言する手段を提供します。
    • afterGroupContaining string[] (任意) - 単一のコンテキストメニューで、指定された ID のアイテムを含むグループの後に、そのグループの配置を宣言する手段を提供します。
note

acceleratorWorksWhenHidden is specified as being macOS-only because accelerators always work when items are hidden on Windows and Linux. これはネイティブの macOS 開発では可能なので、オプションを無効にするオプションをユーザーに提供するためにユーザーに公開されます。

インスタンスプロパティ

MenuItem のインスタンスには以下のプロパティがあります。

A string indicating the item's unique id. This property can be dynamically changed.

そのアイテムに表示されるラベルを示す string

MenuItem がクリックイベントを受け取った時に発火される Function。 これは menuItem.click(event, focusedWindow, focusedWebContents) で呼び出されます。

存在する場合、メニューアイテムのサブメニューを格納する Menu (任意)。

そのアイテムの種類を示す string。 Can be normal, separator, submenu, checkbox, radio, header or palette.

note

header and palette are only available on macOS 14 and up.

セットされている場合、アイテムの役割を示す string (任意)。 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, windowMenu のいずれかにできます。

Accelerator (任意) 型で、セットされているならばそのアイテムのアクセラレータになります。

Accelerator | null 型で、メニューアイテムの ユーザーが割り当てたアクセラレータ を表します。

[!NOTE] This property is only initialized after the MenuItem has been added to a Menu. Menu.buildFromTemplate または Menu.append()/insert() を介してください。 初期化前にアクセスすると null を返します。

セットされている場合、アイテムのアイコンを示す NativeImage | string (任意)。

そのアイテムのサブラベルを示す string

そのアイテムに浮かび上がるテキストを示す string

A boolean indicating whether the item is enabled. This property can be dynamically changed.

A boolean indicating whether the item is visible. This property can be dynamically changed.

A boolean indicating whether the item is checked. This property can be dynamically changed.

checkbox メニューアイテムは、選択された時に checked プロパティをオンかオフにトグル切り替えします。

radio メニューアイテムは、クリックされると checked がオンになり、同じメニュー内の隣接するアイテムすべてのこのプロパティをオフにします。

更なる動作は、click 関数の追加で可能です。

boolean 型で、アクセラレータをシステムに登録する必要があるのか、ただ表示するだけなのかを示します。

このプロパティは動的に変更できます。

SharingItem 型で、roleshareMenu の場合に共有するアイテムを示します。

このプロパティは動的に変更できます。

アイテムの一意な連番 id を示す number

そのアイテムが属する Menu