Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

145
Views
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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!