Eul*_*lar 3 javascript electron
所以,我正在使用电子构建软件。现在我可以从模板在软件中添加菜单
var menu = Menu.buildFromTemplate([
{
label: 'Menu',
submenu: [
{label:'open'},
{label:'save'},
{label:'Exit'}
]
}
])
Menu.setApplicationMenu(menu);
Run Code Online (Sandbox Code Playgroud)
但是如何修改单个菜单项。例如,save默认情况下禁用菜单并在open单击后激活。也说点击后出现open一个新菜单edit。我可以完整地创建完整的新模板,只需使用新模板更改以前的模板。但这是一种糟糕的方法,当我使用带有多个子菜单的多个菜单时,这不是一个实用的解决方案。那么我可以只修改我选择的一个菜单项吗?
您可以使用以下方法获取菜单项:
import { Menu } from 'electron';
Menu.getApplicationMenu().items // all the items
Menu.getApplicationMenu().getMenuItemById('MENU_ITEM_ID') // get a single item by its id
Run Code Online (Sandbox Code Playgroud)
之后,您在单个菜单项上有几个属性:
- checked
- enabled
- visible
- label
- click
Run Code Online (Sandbox Code Playgroud)
您可以根据需要自定义您的行为。
用电子测试3.0.5,在27 Sep 2017方法getMenuItemById不存在之前,你必须遍历所有项目。