我不断收到此错误:
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
})
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
感谢@creative learner的想法!这有效!
import { contextBridge} from 'electron' import { dialog } from '@electron/remote' contextBridge.exposeInMainWorld('electronApi', { dialog: dialog })