我不断收到此错误:
TypeError: Cannot read properties of undefined (reading 'showOpenDialog')
如何以最少的更改调用 showOpenDialog()
?
我正在使用带有 Webpack 5 的新 Quasar/Electron。
这是我的 vue 文件中的 openFile() 方法:
openFile () { window.electronApi.dialog.showOpenDialog({ title: 'Load File', properties: ['openFile'] }).then(result => { const filename = result.filePaths[0] if (filename) { const extension = getExtensionName(filename) console.log(extension) } else { console.log('No file selected') } }).catch(err => { console.log(FILE + 'Error: ' + err) }) },
这是在 electro-preload.js 中声明的内容:
import { contextBridge} from 'electron' contextBridge.exposeInMainWorld('electronApi', { dialog: require('electron').dialog, showOpenDialog: require('electron').showOpenDialog })
P粉7887656792024-03-27 09:34:03
感谢@creative learner的想法!这有效!
import { contextBridge} from 'electron' import { dialog } from '@electron/remote' contextBridge.exposeInMainWorld('electronApi', { dialog: dialog })