Rumah > Soal Jawab > teks badan
Saya terus mendapat ralat ini:
TypeError: Cannot read properties of undefined (reading 'showOpenDialog')
Bagaimana untuk memanggil showOpenDialog()
dengan perubahan yang minimum?
Saya menggunakan Quasar/Electron baharu dengan Webpack 5.
Ini ialah kaedah openFile() dalam fail vue saya:
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) }) },
Inilah yang diisytiharkan dalam elektro-pramuat.js:
import { contextBridge} from 'electron' contextBridge.exposeInMainWorld('electronApi', { dialog: require('electron').dialog, showOpenDialog: require('electron').showOpenDialog })
P粉7887656792024-03-27 09:34:03
Terima kasih kepada @creative learner atas idea itu! Ini berkesan!
import { contextBridge} from 'electron' import { dialog } from '@electron/remote' contextBridge.exposeInMainWorld('electronApi', { dialog: dialog })