我找不到更改上下文菜单标签的方法。我想根据右键单击的节点类型更改标签。
我已经尝试过但没有成功:
$('#region-sortable').bind('contextmenu', function (e) {
e.preventDefault();
liRegionSelectionne = e.target;
if(liRegionSelectionne.tagName.toLowerCase() == "span"){
menuEditRegion.items[0].label = "Modifier cette Remarque";
}else{
menuEditRegion.items[0].label = "Modifier cette Région";
}
menuEditRegion.popup(remote.getCurrentWindow());
});
我可以在控制台中看到对象 items[0]
中的标签已更改,但是当菜单弹出时,标签是我最初声明菜单时放置的标签。
最佳答案
我会做这样的事情:(以防万一有人需要)
const menuTemplate = [{
label: 'Options',
submenu: [
{
label: 'Menu label',
click() { //do stuff }
}
]
}];
// Change menu items when user login. Fetching value from renderer process
ipcMain.on('logged-in', (event, args) => {
if (args !== true) {
return;
}
// Modify menu item status
menuTemplate[0].submenu[0].label = 'New label';
// Rebuild menu
const menu = Menu.buildFromTemplate(menuTemplate);
Menu.setApplicationMenu(menu);
});
关于javascript - Electron 菜单动态更改项目标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49854064/