Maison  >  Questions et réponses  >  le corps du texte

Impossible de lire la propriété non définie (lecture de 'showOpenDialog')

Je reçois toujours cette erreur :

TypeError: Cannot read properties of undefined (reading 'showOpenDialog')

Comment appeler showOpenDialog() avec un minimum de changements ?

J'utilise le nouveau Quasar/Electron avec Webpack 5.

Voici la méthode openFile() dans mon fichier vue :

    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)
      })
    },

Voici ce qui est déclaré dans electro-preload.js :

import { contextBridge} from 'electron'

contextBridge.exposeInMainWorld('electronApi', {
  dialog: require('electron').dialog,
  showOpenDialog: require('electron').showOpenDialog
})

P粉826429907P粉826429907207 Il y a quelques jours422

répondre à tous(1)je répondrai

  • P粉788765679

    P粉7887656792024-03-27 09:34:03

    Merci à @creative learner pour l'idée ! Cela marche!

    import { contextBridge} from 'electron'
    import { dialog } from '@electron/remote' 
    
    contextBridge.exposeInMainWorld('electronApi', {
      dialog: dialog
    })
    

    répondre
    0
  • Annulerrépondre