gpt4 book ai didi

electron - 我无法更改复选框的状态

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

{
label: 'Live preview',
type: 'checkbox',
checked: false,
click: (menuItem, browserWindow, event) => {
menuItem.checked = true ? false : true;
browserWindow.webContents.send('live-preview', menuItem.checked);
}
},

当我单击菜单项上的上下文菜单时 实时预览(复选框): 始终未选中

当我单击菜单项时如何切换复选框

enter image description here

解决方案:
// initialise isChecked variable before the initialisation of context menu
var isChecked = false;

{
label: 'Live preview',
type: 'checkbox',
checked: isChecked,
click: (menuItem, browserWindow, event) => {
browserWindow.webContents.send('live-preview', menuItem.checked);
isChecked = !isChecked;
}
}

最佳答案

因为您没有正确设置检查属性的 bool 值。

尝试:

menuItem.checked = !menuItem.checked

代替:
menuItem.checked = true ? false : true;

解释:

分配 menuItem.checked = true ? false : true;将始终将 false分配给 menuItem.checked,因为 true始终为... true

如果要使用三元运算符翻转 bool 值,则必须这样做
menuItem.checked = menuItem.checked ? false : true;

编辑

另外,我认为您实际上需要正确设置 checked -property。
{
label: 'Live preview',
type: 'checkbox',
checked: false,
click: (menuItem, browserWindow, event) => {
menuItem.checked = !menuItem.checked;
browserWindow.webContents.send('live-preview', menuItem.checked);
}
},

由于 checked: false,将导致您的Checkbox始终处于未选中状态。

尝试以下代码:
{
label: 'Live preview',
type: 'checkbox',
click: (menuItem, browserWindow, event) => {
menuItem.checked = !menuItem.checked; // toggles the menu item
browserWindow.webContents.send('live-preview', menuItem.checked);
}
},

关于electron - 我无法更改复选框的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60029517/

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