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 相关文章推荐
Javascript学习笔记2 函数
Jan 11 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
Dec 04 Javascript
BootStrap学习系列之Bootstrap Typeahead 组件实现百度下拉效果(续)
Jul 07 Javascript
使用JS中的exec()方法构造正则表达式验证
Aug 01 Javascript
微信小程序 slider的简单实例
Apr 19 Javascript
基于JavaScript实现类名的添加与移除
Apr 23 Javascript
gulp教程_从入门到项目中快速上手使用方法
Sep 14 Javascript
Node.js中你不可不精的Stream(流)
Jun 08 Javascript
Vue CLI3.0中使用jQuery和Bootstrap的方法
Feb 28 jQuery
Javascript实现一朵从含苞到绽放的玫瑰
Mar 30 Javascript
vue实现全匹配搜索列表内容
Sep 26 Javascript
Ant-design-vue Table组件customRow属性的使用说明
Oct 28 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
优化PHP代码的53条建议
2008/03/27 PHP
php中curl和file_get_content的区别
2014/05/10 PHP
ucenter通信原理分析
2015/01/09 PHP
js 颜色选择器(兼容firefox)
2009/03/05 Javascript
js判断屏幕分辨率的代码
2013/07/16 Javascript
jquery实现的V字形显示效果代码
2015/10/27 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
JavaScript判断数组重复内容的两种方法(推荐)
2016/06/06 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
Nodejs多站点切换Htpps协议详解及简单实例
2017/02/23 NodeJs
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
详解React Native网络请求fetch简单封装
2017/08/10 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
改变layer confirm弹窗按钮的颜色方法
2019/09/12 Javascript
vue实现全屏滚动效果(非fullpage.js)
2020/03/07 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
vue+springboot+element+vue-resource实现文件上传教程
2020/10/21 Javascript
[01:01:36]Optic vs paiN 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
Python基于smtplib实现异步发送邮件服务
2015/05/28 Python
python实现RSA加密(解密)算法
2016/02/17 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
python同步windows和linux文件
2019/08/29 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
英国第二大营养品供应商:Vitabiotics
2016/10/01 全球购物
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
幼儿园中秋节活动方案2013
2014/01/29 职场文书
高中教师考核方案
2014/05/18 职场文书
捐款感谢信
2015/01/20 职场文书
监考失职检讨书
2015/01/26 职场文书
忠犬八公的故事观后感
2015/06/05 职场文书