пользовательский меню не отображается на Mac? - PullRequest
0 голосов
/ 01 апреля 2019

Разработчик menubar показывает вместо моей пользовательской строки меню, и я добавил пустой объект в menuTemplate и все еще не работает.

Я использую Mac

Я пытался установить в меню окна браузера значение NULL
, но по-прежнему не отображается мой пользовательский menubar

const electron = require('electron');
const{app,BrowserWindow,Menu} = electron;
const url = require("url");
const path = require("path")

let mainWindow;
let addWindow;
app.on('ready', function(){
  mainWindow = new BrowserWindow({});
  mainWindow.loadURL(url.format({
    pathname: path.join(__dirname, "index.html"),
    protocol: 'file: ',
    slashes: true
  }));

  const mainMenu = Menu.buildFromTemplate(menuTemplate);
  Menu.setApplicationMenu(mainMenu);
});

function createAddWindow(){
  addWindow = new BrowserWindow({
    width: 300,
    height: 200,
    title: " Add shopping list item"
  });
  addWindow.loadURL(url.format({
    pathname: path.join(__dirname, "subwindow.html"),
    protocol: 'file: ',
    slashes: true
  }));
}
// create menu template
const menuTemplate = [
  {},
  {
    Label: "file",
    submenu:[
      {
        Label: "add item",
        click(){
          createAddWindow();
        }
      },{
        Label: "clear items"
      },{
        label: "quit",
        accelerator: process.platform == "darwin" ? 'Command+Q' : 'Ctrl+Q',
        click(){
          app.quit();
        }
      }]
  }
]

Я хочу показать свой кастом menubar.

1 Ответ

0 голосов
/ 01 апреля 2019

Ваш шаблон меню вызывает ошибки при запуске (Electron 4.1.3 в Ubuntu).

Я удалил пустой объект с индексом 0 и изменил Label на label. Кроме того, я думаю, что вы можете просто использовать CmdOrCtrl для ускорителя.

const menuTemplate = [
  {
    label: "file",
    submenu: [
      {
        label: "add item",
        click(){
          createAddWindow();
        }
      },{
        label: "clear items"
      },{
        label: "quit",
        accelerator: 'CmdOrCtrl+Q',
        click(){
          app.quit();
        }
      }]
  }
]

Это приводит к следующему меню:

Screenshot of the menu

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...