electron踩坑之dialog中的callback解決
踩坑分析
之前版本使用dialog時選擇文件時,可以加入callback,來獲取被選擇文件的路徑,而electron10更新后發(fā)生了改動,采用了Promise對象來獲取結(jié)果。
electron 10之前我們獲取文件路徑,只需加入callback即可,也就是下述寫法,且之前返回的data結(jié)果直接是文件的路徑。
openDialogDom.onclick = function(){
remote.dialog.showOpenDialog({
properties:['openFile']
},function(data){
console.log(data)
})
}
解決
electron10之后,寫項目時我發(fā)現(xiàn)callback無效,在之前的踩坑經(jīng)歷來說,我覺得又是因為版本更新所帶來的結(jié)果,查看官方文檔,又帶給了我踩坑結(jié)束的收獲。

可以看出在該方法的返回值變?yōu)榱薖romise對象,且在Promise對象中增加了cancele,filePaths,bookmarks屬性,此時我們要想獲取被選中的文件的路徑,也需要與原先未更新版本前有著不一樣的改變,也就是如下寫法。
openDialogDom.onclick = function(){
remote.dialog.showOpenDialog({
properties:['openFile']
}).then(res => {
console.log(res.canceled)
console.log(res.filePaths)
})
}

問題解決,踩坑完畢。
到此這篇關(guān)于electron踩坑之dialog中的callback解決的文章就介紹到這了,更多相關(guān)electron dialog callback內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
TypeError:res.forEach?is?not?a?function報錯解決辦法
這篇文章主要給大家介紹了關(guān)于TypeError:res.forEach?is?not?a?function報錯的解決辦法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2023-07-07
解決Vue控制臺報錯Failed to mount component: tem
這篇文章主要介紹了解決Vue控制臺報錯Failed to mount component: template or render function not defined.問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-06-06
vue3 provide和inject底層組件的值不是響應(yīng)式的處理詳解
這篇文章主要為大家介紹了vue3 provide和inject底層組件的值不是響應(yīng)式的處理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08

