久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

動(dòng)態(tài)改變 Electron 的菜單項(xiàng)狀態(tài)

Change Electron#39;s menu item#39;s status dynamically(動(dòng)態(tài)改變 Electron 的菜單項(xiàng)狀態(tài))
本文介紹了動(dòng)態(tài)改變 Electron 的菜單項(xiàng)狀態(tài)的處理方法,對大家解決問題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!

問題描述

與任何標(biāo)準(zhǔn)原生應(yīng)用程序一樣,我的電子應(yīng)用程序也需要根據(jù)實(shí)時(shí)使用結(jié)果更改多個(gè)菜單項(xiàng)的狀態(tài)(啟用/禁用).

Like in any standard native application, also my electron's application needs to change the status (enabled/dsabled) of several menu item, based on live usage results.

我正在 main.js 中設(shè)置我的菜單:

I am setting up my menu in main.js:

function createWindow () {
...
...
  require('./menu/mainmenu');
}

我需要更改的 MenuItem 在 mainmenu 中定義:

The MenuItem I need to change is defined in mainmenu:

{ label: "Show Colors",  
        accelerator: 'CmdOrCtrl+1', 
        enabled: getStatus(),
        click() {getWebviewWebContents().send('switchToColors');} 
 },

其中 getStatus() 是返回 falsetrue 的函數(shù).

where getStatus() is function returning false or true.

所有這些在 Electron 中都不起作用,因?yàn)椴藛问窃趹?yīng)用程序啟動(dòng)時(shí)創(chuàng)建的,根本無法修改.我認(rèn)為這是一個(gè)嚴(yán)重的缺陷,因?yàn)閯?dòng)態(tài)菜單項(xiàng)非常常見(即:菜單復(fù)選框、啟用/禁用等).

All this is not working in Electron, as the menu is created at application start and it can't be modified at all. I believe this is a serious lack, as dynamic menu items are very common (i.e.: menu checkboxes, enabled/disabled, etc).

有什么解決方法嗎?

推薦答案

我已經(jīng)通過為菜單項(xiàng)設(shè)置一個(gè) Id 來解決這個(gè)問題,

I have fixed this by setting an Id to the menu item,

{ label: "Show Colors",  
        id: 'color-scale',
        accelerator: 'CmdOrCtrl+1', 
        enabled: getStatus(),
        click() {getWebviewWebContents().send('switchToColors');} 
 },

并通過以下方式獲取菜單項(xiàng):

and getting the menu item with:

myItem = menu.getMenuItemById('color-scale')

然后,當(dāng)我需要以編程方式啟用/禁用它時(shí),我正在使用:

Then, when I need to enable/disable it programmatically, I am using:

myItem.enabled = true

myItem.enabled = false

這篇關(guān)于動(dòng)態(tài)改變 Electron 的菜單項(xiàng)狀態(tài)的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

相關(guān)文檔推薦

How to fix BrowserWindow is not a constructor error when creating child window in Electron renderer process(在 Electron 渲染器進(jìn)程中創(chuàng)建子窗口時(shí)如何修復(fù) BrowserWindow 不是構(gòu)造函數(shù)錯(cuò)誤) - IT屋-程序員軟件開發(fā)技術(shù)
mainWindow.loadURL(quot;https://localhost:3000/quot;) show white screen on Electron app(mainWindow.loadURL(https://localhost:3000/) 在 Electron 應(yīng)用程序上顯示白屏)
Electron webContents executeJavaScript : Cannot execute script on second on loadURL(Electron webContents executeJavaScript:無法在第二個(gè) loadURL 上執(zhí)行腳本)
how to use electron browser window inside components in angular-cli?(如何在angular-cli的組件內(nèi)使用電子瀏覽器窗口?)
ElectronJS - sharing redux store between windows?(ElectronJS - 在 Windows 之間共享 redux 存儲?)
How to access camera/webcamera inside electron app?(如何在電子應(yīng)用程序中訪問相機(jī)/網(wǎng)絡(luò)攝像頭?)
主站蜘蛛池模板: 中文字幕一区在线 | 黄色免费在线观看网址 | 亚洲a人| 国产精品久久久久久久久久 | 亚洲国产欧美日韩 | 日韩成人免费 | 欧美国产视频 | 综合成人在线 | 精品国模一区二区三区欧美 | 久久精品一区二区 | 九色av | 欧美一级免费黄色片 | 欧美精品一区三区 | 亚洲国产一区二区三区在线观看 | 国产精品久久久久久妇女6080 | 久久99精品久久久久久秒播九色 | 日韩精品在线一区二区 | 欧美精品99 | 精品美女久久久 | 一区二区在线 | 精品三区| 日韩av最新网址 | 青青草原精品99久久精品66 | 一二区视频 | 亚洲第一区国产精品 | 亚洲成人中文字幕 | 精品久久久久久红码专区 | 日韩成人免费视频 | 成人免费淫片aa视频免费 | 久久精品视频亚洲 | www视频在线观看 | 午夜影院官网 | 成人小视频在线观看 | 日韩欧美在线视频观看 | 亚洲91 | 999久久 | 欧美一区二区三区在线观看视频 | 国产在线www | 午夜视频在线免费观看 | 久久久久久亚洲 | 国产精品99一区二区 |