electron踩坑之dialog中的callback解决


Posted in Javascript onOctober 06, 2020

踩坑分析

之前版本使用dialog时选择文件时,可以加入callback,来获取被选择文件的路径,而electron10更新后发生了改动,采用了Promise对象来获取结果。

electron 10之前我们获取文件路径,只需加入callback即可,也就是下述写法,且之前返回的data结果直接是文件的路径。

openDialogDom.onclick = function(){

  remote.dialog.showOpenDialog({
    properties:['openFile']

  },function(data){
    console.log(data)
  })

}

解决

electron10之后,写项目时我发现callback无效,在之前的踩坑经历来说,我觉得又是因为版本更新所带来的结果,查看官方文档,又带给了我踩坑结束的收获。

electron踩坑之dialog中的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 dialog callback内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
DWZ刷新dialog解决方法
Mar 03 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
Mar 25 Javascript
解析JavaScript的ES6版本中的解构赋值
Jul 28 Javascript
JS实现按比例缩放图片的方法(附C#版代码)
Dec 08 Javascript
JavaScript表单验证实例之验证表单项是否为空
Jan 10 Javascript
bootstrap导航条实现代码
Dec 28 Javascript
JS ES6中setTimeout函数的执行上下文示例
Apr 27 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
Jun 20 Javascript
angular select 默认值设置方法
Jun 23 Javascript
JS实现前端页面的搜索功能
Jun 12 Javascript
webpack手动配置React开发环境的步骤
Jul 02 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
Jan 27 Javascript
electron踩坑之remote of undefined的解决
Oct 06 #Javascript
9个JavaScript日常开发小技巧
Oct 06 #Javascript
详解ES6中class的实现原理
Oct 03 #Javascript
在vue中使用Echarts画曲线图的示例
Oct 03 #Javascript
vue 虚拟DOM的原理
Oct 03 #Javascript
vue使用video插件vue-video-player的示例
Oct 03 #Javascript
区分vue-router的hash和history模式
Oct 03 #Javascript
You might like
WINXP下apache+php4+mysql
2006/11/25 PHP
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
PHP+Mysql+Ajax+JS实现省市区三级联动
2014/05/23 PHP
PHP中使用TCPDF生成PDF文档实例
2014/07/01 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
2019/03/07 PHP
PHP程序守护进程化实现方法详解
2020/07/16 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
javascript 处理null及null值示例
2014/06/09 Javascript
Javascript 读取操作Sql中的Xml字段
2014/10/09 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
javascript图片切换综合实例(循环切换、顺序切换)
2016/01/13 Javascript
JavaScript之cookie技术详解
2016/11/18 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
利用n 升级工具升级Node.js版本及在mac环境下的坑
2017/02/15 Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
2017/06/04 Javascript
js排序与重组的实例讲解
2017/08/28 Javascript
解决在vue+webpack开发中出现两个或多个菜单公用一个组件问题
2017/11/28 Javascript
Vue数据监听方法watch的使用
2018/03/28 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
[42:06]2019国际邀请赛全明星赛 8.23
2019/09/05 DOTA
[59:32]Liquid vs Fnatic 2019国际邀请赛淘汰赛败者组BO1 8.20.mp4
2020/07/19 DOTA
python3+PyQt5实现拖放功能
2018/04/24 Python
python 识别图片中的文字信息方法
2018/05/10 Python
python基础学习之如何对元组各个元素进行命名详解
2018/07/12 Python
Django框架基础模板标签与filter使用方法详解
2019/07/23 Python
基于css3 animate制作绚丽的动画效果
2015/11/24 HTML / CSS
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
铁路个人事迹材料
2014/01/30 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python