электронное контекстное меню BuildFromTemplate с функцией

#javascript #electron #contextmenu

#javascript #electron #contextmenu

Вопрос:

я заставил функцию возвращать опцию меню. это работает, но возвращает ошибку.

мой код:

 const { remote } = require('electron')
const { Menu } = remote
const tabTemplate = require("./menuTemplates/tabTemplate")

window.addEventListener('contextmenu', (e) => {
    e.preventDefault()
    if (e.target.id === "tabListItem") {
        let menuTest = Menu.buildFromTemplate(tabTemplate(e)) //i get error here

        menuTest.popup({ window: remote.getCurrentWindow() })
    }
}, false)
 

tabTemplate.js

 function template(clickedElement) {
    return [
        {
            label: 'Delete',
            click: function () { alert(clickedElement) }
        }
    ]
}

module.exports = template
 

сообщение об ошибке :

 Uncaught TypeError: tabTemplate is not a function
 

Комментарии:

1. Не удается воспроизвести, оно должно работать. Можете ли вы сделать a console.log(typeof tabTemplate) сразу после импорта и непосредственно перед использованием? Может быть, вы где-то переопределяете его.

2. он возвращает объект

3. В какой позиции он говорит object ? Проверьте сразу после импорта и непосредственно перед использованием.