Electron 菜单动态更改项目标签

Ala*_*RNE 3 javascript contextmenu electron

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

\n\n

我尝试过这个但没有成功:

\n\n
$(\'#region-sortable\').bind(\'contextmenu\', function (e) {\n      e.preventDefault();\n      liRegionSelectionne = e.target;\n      if(liRegionSelectionne.tagName.toLowerCase() == "span"){\n        menuEditRegion.items[0].label = "Modifier cette Remarque";\n      }else{\n        menuEditRegion.items[0].label = "Modifier cette R\xc3\xa9gion";\n      }     \n        menuEditRegion.popup(remote.getCurrentWindow());\n    }); \n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以在控制台中看到对象中的标签已更改items[0],但是当弹出菜单时,标签是我最初声明菜单时放置的标签。

\n

Dij*_*tra 5

我会做这样的事情:(如果有人需要)

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);
});
Run Code Online (Sandbox Code Playgroud)