2017-09-03 117 views
-1

我希望用戶能夠從文件夾對話框中選擇一個文件夾。
到目前爲止,我試過下面的this教程沒有成功。
我就死在的電子 - 打開文件夾對話框

exports.selectDirectory = function() { 
    // dialog.showOpenDialog as before 
} 

的一部分,我需要以檢索所選文件夾的完整路徑,怎麼辦?
謝謝!

+0

有人可以幫助我嗎?謝謝! – avi12

+0

好吧,我解決了這個問題,使用了我在主要文章中提到的文章帖子和[this](https://stackoverflow.com/questions/35711134/electron-call-renderer-function-from-main)回答。 – avi12

回答

0

Dialog api在主進程中可用(https://electron.atom.io/docs/)。

要創建一個對話框,您必須通過從渲染器進程發送消息來告訴主進程。這裏主窗口,它的父browserWindow將舉行對話框:

試試這個代碼:

// in your renderer process:- 

const ipcRenderer = require('electron').ipcRenderer; 

ipcRenderer.send('selectDirectory'); 


//in you main process:- 

const electron = require('electron'); 

const ipcMain = electron.ipcMain; 

const dailog = electron.dialog; 

//hold the array of directory paths selected by user 

let dir; 

ipcMain.on('selectDirectory', function() { 

    dir = dialog.showOpenDialog(mainWindow, { 

     properties: ['openDirectory'] 

    }); 

}); 

注意。

+0

據我所知,對話框在渲染器中可用。 – Crowes

+0

@Crowes請檢查文檔。 –

+0

我做到了。使用遠程。 – Crowes