无法读取未定义的属性(读取'showOpenDialog')
P粉826429907
P粉826429907 2024-03-26 11:45:51
0
1
415

我不断收到此错误:

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粉826429907
P粉826429907

全部回复(1)
P粉788765679

感谢@creative learner的想法!这有效!

import { contextBridge} from 'electron'
import { dialog } from '@electron/remote' 

contextBridge.exposeInMainWorld('electronApi', {
  dialog: dialog
})
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!