gpt4 book ai didi

electron - 如何动态更改 MenuItem 的属性(如标签)?

转载 作者:行者123 更新时间:2023-12-03 12:33:42 25 4
gpt4 key购买 nike

我需要动态更改 MenuItem 类的属性。
我正在为我的 Electron js 桌面应用程序创建一个上下文菜单。

它是右键单击上下文菜单的菜单声明。

const menu = new Menu();
menu.append(new MenuItem({id: 'open', label: 'Open File Location', click() { console.log('item 1 clicked') }}));
menu.append(new MenuItem({id: 'search', label: `Search in Google `, click() { console.log('item 2 clicked') }}));

然后我更改了 MenuItem 的属性。
let search = menu.getMenuItemById('search');
search.label = `Search *new text* in Google`;
menu.popup({window: remote.getCurrentWindow()});

我要实现 Search *new text* in Google在上下文菜单中,但仍显示 Search in Google
ElectronJs docs 声明上下文菜单属性可以动态更改。但是怎么做?
引用: Electron docs on MenuItem properties

在为此寻找解决方案时,我开始知道这可以通过重新初始化菜单来实现(尽管这是针对菜单栏的)。但我不想那样做。

最佳答案

该网站上的文档目前已过时。 PR #21823修改了文档以注意标签不能动态更改。

该 PR 又引用了 Issue #12633 (comment) ,其中指出目前无法通过菜单的架构方式实现这一点。

Our menu code is currently not written to be dynamic (and thus allow for this) and given that we would need to rearchitect our entire menu at this stage I don't believe we're prepare to do that. In that event, i'm going to close this at wontfix, but i'll let you know if something changes in the future!



重新初始化菜单可能是你现在最好的选择。

关于electron - 如何动态更改 MenuItem 的属性(如标签)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60998277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com