2017-03-23 9 views
1

このメニュー項目をクリックすると、メニュー項目のラベルを更新しようとしています。クリック - > 'show'ラベル、 - > 'hide'ラベルのように動作します。電子 - メニューのラベルを更新する

const template = [{ 
    label: 'Menu', 
    submenu: [{ 
     label: 'Search', 
     click() { 
      win.webContents.executeJavaScript("showSearch()"); // it run function changeSearch() in main.js 
     } 
    }, 
    { 
     label: 'Resetuj', 
     click() { 
      win.loadURL(`file://${__dirname}/index.html?del=1`); 
     } 
    }, 
    { 
     label: 'Quit', 
     accelerator: 'Q+CmdOrCtrl+Q', 
     click() { 
      win.loadURL(`file://${__dirname}/index.html?logout=1&close=1`); 
     } 
    }] 
}]; 

changeSearch()私はこのような何か試してみました::によって

function addMenuItems(items, position) { 
const updateSearchItems = [{ 
    label: 'newOptionDisabled', 
    enabled: false, 
}, { 
    label: 'newOptionWithAction', 
    enabled: true, 
    key: 'newOptionWIthAction', 
}, { 
    label: 'Do some stuff', 
    visible: false, 
    key: 'doSomeStuff', 
    click:() => { 
     // stuff 
    }, 
}]; 


items.splice.apply(items, [position, 0].concat(updateSearchItems)); 
} 

Menu.items[0].submenu.items[0].label = "Changed label"; 
+0

こんにちは私が投稿した回答があなたの問題を解決したかどうか疑問に思っていました。もしあなたがより多くの情報を希望したり、物事がまだ不明な場合は、お気軽にお尋ねください。私の答えがあなたをうまく助けることができたと思うなら、それを受け入れられた答えとしてマークすることを検討してください。 – MSB

答えて

0

私はあなたが探しているものだと思うが、このようなものであるがこれは私のコードですメニュー項目をオブジェクトとして定義すると、後でそのオブジェクトをいつでも変更することができます。私の例では、addMenuItems関数を使用して、既存のオブジェクト内にこれらの項目を挿入する場所を指定できます。

関連する問題