Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

151
Visualizações
change sub menu checked status to checked in Electron JS

I created the submenu in electron js and try to change the status of the submenu after it clicked. But I cannot perform the action.

index.js

ipcMain.on('show-context-menu', (event) => {
        const template = [
            {
                label: 'Position',
                submenu: [
                    {
                        label: 'Bottom Right',
                        type: 'checkbox',
                        role: 'bottomRight',
                        click: () => {
                            let modifiedMenuItem = changePosition(positioner, 'bottomRight', menuItem);
                            
                   Menu.setApplicationMenu(Menu.buildFromTemplate(modifiedMenuItem));
                            //applyMenu(modifiedMenuItem);
                            menu = Menu.buildFromTemplate(modifiedMenuItem);
                            Menu.setApplicationMenu(menu);
                            menu.popup(BrowserWindow.fromWebContents(event.sender));
                        }
                    },
                    {
                        label: 'Bottom Left',
                        type: 'checkbox',
                        role: 'bottomLeft',
                        click: () => {
                            let modifiedMenuItem = changePosition(positioner, 'bottomLeft', menuItem);
Menu.setApplicationMenu(Menu.buildFromTemplate(modifiedMenuItem));
                            //applyMenu(modifiedMenuItem);
                            menu = Menu.buildFromTemplate(modifiedMenuItem);
                            Menu.setApplicationMenu(menu);
                            menu.popup(BrowserWindow.fromWebContents(event.sender));

                        }
                    }
                ]
            }
        ]
        menu = Menu.buildFromTemplate(template);
        Menu.setApplicationMenu(menu);
        menuItem = Menu.getApplicationMenu();
        menu.popup(BrowserWindow.fromWebContents(event.sender));
    });

let changePosition = (positioner, position, menuItem) => {
    let menuTemplate = [{
        label: 'Position',
        submenu: []
    }];
    menuItem?.items[0]?.submenu?.items.forEach(m => {
        menuTemplate[0].submenu.push({
            label: m.label, type: m.type, role: m.role, click: m.click, checked: m.checked
        });
    });
    positioner.move(position);
    return menuTemplate;
}

Here after clicking, I am rendering the menu again. But it's not changing the checked status.

Any help on this.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda