2017-07-12 9 views
0

私はトレイのアイコンで電子アプリを作成しました。 私は右のトレイアイコンをクリックすると、私は4つのオプションのメニューを示しています。window.maximize()ウィンドウが最小化されたときに失敗します電子

  • を最小化、最大化
  • 再起動
  • ここで終了し

は、トレイアイコンを作成するコードです:

trayIcon = new Tray('icons/foo.png'); 
    const trayMenuTemplate = [{ 
     label: 'Maximize', 
     click:(_,window)=>{ 
      window.maximize(); 
     } 
    }, { 
     label: 'Minimize', 
     click:(_,window)=>{ 
      window.minimize(); 
     } 
    }, { 
     label: 'Restart' 
    }, { 
     type: 'separator' 
    }, { 
     label: 'Quit', 
     role: 'quit' 
    }]; 

Ho私は問題があります。最小化をクリックして最大化をクリックするとエラーが表示されます。Cannnot read property maximize of null ありがとう

答えて

1

これは最小化されているかどうかを常に確認し、回避策として復元できます。私はこれが大したことではないと思います。

あなたがこれを使用することができますチェックして、それを復元するには:

if (window.isMinimized()) { 
    window.restore(); 
} 

全体のものはこのようになります:

{ 
    label: 'Maximize', 
    click:(_,window)=>{ 
     if (window.isMinimized()) { 
      window.restore(); 
     } 
     window.maximize(); 
    } 
} 
1

トレイが任意のBrowserWindowにバインドされていない、のでwindowがnullです。メインプロセスでトレイメニューを作成した場合は、mainWindow参照を使用するか、レンダラーにいる場合はremote.getCurrentWindow()を使用してください。

関連する問題