javascript - Electron 菜单动态更改项目标签

标签 javascript electron contextmenu

我找不到更改上下文菜单标签的方法。我想根据右键单击的节点类型更改标签。

我已经尝试过但没有成功:

$('#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/

相关文章:

electron - Electron 是企业应用程序的可靠框架吗?

javascript - Javascript方法无法从外部样式表中使用- Electron

c# - TabControl 上下文菜单

javascript - Math.min 和 Math.max 超出了最大调用堆栈大小

javascript - 为什么我的图像在 HTML 页面中加载不一致?

javascript - create-react-app 排除文件夹触发重新加载

javascript - jstree - 如何启用文件夹和文件操作?

javascript - jQuery 回调将 Rails 用户值设置为 true

javascript - 为什么调用clearRect()后无法写入 Canvas ?

c# - 从上下文菜单处理快捷方式