[英]electron: How to remove a menu item from the default menu?
我正在嘗試從 Electron 應用程序的菜單中刪除Help
菜單。
我不想setApplicationMenu
我自己的,因為它的優良使用默認的菜單除了幫助,這點電子自己的幫助頁面。
我嘗試了以下方法,但在每種情況下都失敗了:
var menu = Menu.getApplicationMenu();
menu.items.pop();
var menu = Menu.getApplicationMenu();
for(var i=0; i<menu.items.length; i++) {
if (menu.items[i].role == 'help') {
menu.items[i].visible = false;
break;
}
}
mainWindow.removeMenu();
這在我的電子版本:10.1.0 的 macOS 上不起作用。
怎么了? 我應該創建一個模板嗎?
修改默認菜單后必須使用Menu.setApplicationMenu
const menu = Menu.getApplicationMenu(); // get default menu
menu.items.find((item) => item.role === "help").visible = false; // modify it
Menu.setApplicationMenu(menu); // set the modified menu
注意:根據我的經驗,如果在應用程序ready
事件之前調用Menu.getApplicationMenu()
將返回null
menuItem.visible 在 Electron 13 中不起作用。相反,我構建了一個沒有幫助項的新菜單。
const menu = Menu.getApplicationMenu()
const items = menu?.items.filter((item) => item.role !== 'help')
Menu.setApplicationMenu(Menu.buildFromTemplate(items))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.