是否可以通过单击类型为Electron的MenuItem复选框而不关闭当前子菜单?

时间:2019-08-05 11:56:10

标签: javascript electron menu-items

我在Electron应用程序中有一个子菜单,其中包含几个类型为“复选框”的MenuItem:

{
        label: 'Search settings',
        submenu: [
          {
            type: 'checkbox',
            checked: false,
            label: 'Aerodromes',
            click: (/* menuItem, currentWindow, event */) => {
              console.log('')
              console.log('menuItem Aerodromes is clicked')
              // TODO: change userPrefs about search sources
            }
          },
          {
            type: 'checkbox',
            checked: false,
            label: 'Heliports and HL',
            click: (/* event, focusedWindow, focusedWebContents */) => {
              console.log('')
              console.log('menuItem Heliports and HL is clicked')
              // TODO: change userPrefs about search sources
            }
          },
          {
            type: 'checkbox',
            checked: false,
            label: 'LP',
            click: (/* event, focusedWindow, focusedWebContents */) => {
              console.log('')
              console.log('menuItem LP is clicked')
              // TODO: change userPrefs about search sources
            }
          },
          ...
        ]
      },

当我单击所有这些项目时,状态“已检查/未检查”正确更新,但是只有在再次打开此子菜单后,我才能看到更改,因为单击任何项​​目后,整个子菜单都会立即关闭(隐藏)。这不是我想要的。我希望让用户能够激活/停用(例如,选中/取消选中)整个子菜单中的所有这些复选框,直到他决定完成为止。我该如何实现这种行为?任何好的建议将不胜感激。

P.S .:我使用'click'方法的参数玩了很多,但没有成功('event.preventDefault不是函数'等)

0 个答案:

没有答案