electron踩坑之dialog中的callback解决
踩坑分析
之前版本使用dialog时选择文件时,可以加入callback,来获取被选择文件的路径,而electron10更新后发生了改动,采用了Promise对象来获取结果。
electron 10之前我们获取文件路径,只需加入callback即可,也就是下述写法,且之前返回的data结果直接是文件的路径。
openDialogDom.onclick = function(){
remote.dialog.showOpenDialog({
properties:['openFile']
},function(data){
console.log(data)
})
}
解决
electron10之后,写项目时我发现callback无效,在之前的踩坑经历来说,我觉得又是因为版本更新所带来的结果,查看官方文档,又带给了我踩坑结束的收获。

可以看出在该方法的返回值变为了Promise对象,且在Promise对象中增加了cancele,filePaths,bookmarks属性,此时我们要想获取被选中的文件的路径,也需要与原先未更新版本前有着不一样的改变,也就是如下写法。
openDialogDom.onclick = function(){
remote.dialog.showOpenDialog({
properties:['openFile']
}).then(res => {
console.log(res.canceled)
console.log(res.filePaths)
})
}

问题解决,踩坑完毕。
到此这篇关于electron踩坑之dialog中的callback解决的文章就介绍到这了,更多相关electron dialog callback内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
TypeError:res.forEach is not a function报错解决办法
这篇文章主要给大家介绍了关于TypeError:res.forEach is not a function报错的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下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底层组件的值不是响应式的处理详解
这篇文章主要为大家介绍了vue3 provide和inject底层组件的值不是响应式的处理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-08-08


最新评论