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内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

标签: 解决 electron