以前版本使用dialog時選擇文件時,能夠加入callback,來獲取被選擇文件的路徑,而electron10更新後發生了改動,採用了Promise對象來獲取結果。
electron 10以前咱們獲取文件路徑,只需加入callback便可,也就是下述寫法,且以前返回的data結果直接是文件的路徑。javascript
openDialogDom.onclick = function(){ remote.dialog.showOpenDialog({ properties:['openFile'] },function(data){ console.log(data) }) }
electron10以後,寫項目時我發現callback無效,在以前的踩坑經從來說,我以爲又是由於版本更新所帶來的結果,查看官方文檔,又帶給了我踩坑結束的收穫。
能夠看出在該方法的返回值變爲了Promise對象,且在Promise對象中增長了cancele,filePaths,bookmarks屬性,此時咱們要想獲取被選中的文件的路徑,也須要與原先未更新版本前有着不同的改變,也就是以下寫法。java
openDialogDom.onclick = function(){ remote.dialog.showOpenDialog({ properties:['openFile'] }).then(res => { console.log(res.canceled) console.log(res.filePaths) }) }
問題解決,踩坑完畢。electron