我用托盘图标创建了一个电子应用程序。当我右键单击托盘图标时,我会显示一个包含4个选项的菜单:
下面是创建托盘图标的代码:
trayIcon = new Tray('icons/foo.png');
const trayMenuTemplate = [{
label: 'Maximize',
click:(_,window)=>{
window.maximize();
}
}, {
label: 'Minimize',
click:(_,window)=>{
window.minimize();
}
}, {
label: 'Restart'
}, {
type: 'separator'
}, {
label: 'Quit',
role: 'quit'
}];然而,我有一个problem.When,我点击最小化,然后我点击最大化,我得到一个错误,说Cannnot read property maximize of null,有什么想法吗?
发布于 2017-07-13 06:28:31
您可以始终检查它是否最小化,并将其还原为一种解决方法。我觉得这没什么大不了的。
要检查和还原它,可以使用以下命令:
if (window.isMinimized()) {
window.restore();
}整件事都是这样的:
{
label: 'Maximize',
click:(_,window)=>{
if (window.isMinimized()) {
window.restore();
}
window.maximize();
}
}发布于 2017-07-13 08:45:53
托盘不绑定到任何BrowserWindow,因此window为空。如果在主进程中创建了托盘菜单,则只需使用mainWindow引用即可;如果在渲染器中,则可以使用remote.getCurrentWindow()。
https://stackoverflow.com/questions/45067391
复制相似问题