[英]How to hide or show menu labels in Electron app
我有 Electron 应用程序,我试图根据用户输入隐藏或显示 label。 label客场展示。 我正在尝试隐藏或显示教程
{
id: "tut",
label: "Tutorials",
submenu: [
{
id: "subTut",
label: "Tutorials",
click: async () => {
const { shell } = require("electron");
await shell.openExternal("https://example.app/tutorials");
},
},
],
},
在我的 main.js 进程中,我调用菜单
当我打电话时:
Menu.getApplicationMenu().getMenuItemById("tut").visible = false;
它没有隐藏任何东西,但是我称之为
Menu.getApplicationMenu().getMenuItemById("subTut").visible = false;
它将隐藏子菜单项
这是任何遇到此问题的解决方案,这可以通过使用 function 来完成
Menu.setApplicationMenu()
只需将 object 传递给 function 即可调用菜单来处理项目是否可见
const MenuItems = (options) => {
// MENU
const template = [
{
label: "Window",
submenu: [
{
visible: options.option,
label: "Support",
click: async () => {
await shell.openExternal("https://example.com");
},
},
]
]
const menu = Menu.buildFromTemplate(template);
Menu.setApplicationMenu(menu);
};
当您为您的菜单运行 function 时,只需在 function 中传递 object 即可显示内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.