为了账号安全,请及时绑定邮箱和手机立即绑定

showOpenDialog回调方法不走,windows系统

showOpenDialog回调方法不走,windows系统

http://img1.sycdn.imooc.com//5ddf8e180001d67d08130304.jpg

正在回答

5 回答

在VSCode里面,可以按住ctrl或者command点进showOpenDialog函数里面,看这个函数是Promise的还是回调的,然后用对应的方法就行了

0 回复 有任何疑惑可以回复我~

这个问题的解决可以在这里找到:

https://stackoverflow.com/questions/60181481/electron-showopendialog-arrow-function-event-send-not-working 

原因是dialog api 随着electron版本6的发布而发生了变化,由原来的回调函数改为了promise。

关于promise更多用法可以查看这篇文章:

https://www.jianshu.com/p/5833a2ae8035 

0 回复 有任何疑惑可以回复我~
#1

刀克

第一次见回调可以用逗号承接的,长知识了
2021-12-24 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//5de62cbb0001f7f319050864.jpg

"electron": "^7.1.2"

亲测这样写可以

2 回复 有任何疑惑可以回复我~
#1

qq_Q先生_0

这样写确实可以 厉害大哥
2020-01-11 回复 有任何疑惑可以回复我~
#2

LCLinmm

试了,确实可以
2020-02-06 回复 有任何疑惑可以回复我~
dialog.showOpenDialog(mainWindow, {  properties: ['openFile', 'openDirectory']
}).then(result => {  console.log(result.canceled)  console.log(result.filePaths)
}).catch(err => {  console.log(err)
})

catch 也带上试试

0 回复 有任何疑惑可以回复我~
#1

江晓皮 提问者

带上catch可 因为字数限制所以没加在回复里面 奇怪的是正常的不走 catch也没走 是新版有什么限制吗 奇怪啊
2019-12-01 回复 有任何疑惑可以回复我~
#2

慕码人3409083 回复 江晓皮 提问者

我和你遇到了一样的问题,请问解决了吗?已经更换成.then的调用方式了
2020-05-15 回复 有任何疑惑可以回复我~

ipcMain.on('open-music-file', () => {
dialog.showOpenDialog({
properties: ['openFile', 'multiSelections'],
filters: [{ name: 'Music', extensions: ['mp3'] }]
}).then(result => {
console.log(result.filePaths)
})
})

0 回复 有任何疑惑可以回复我~
#1

江晓皮 提问者

我发现我的electron是7.1.2版本,跟视频中的应该不一样,已经修改了写法,但还是不行。是版本升级了有什么限制了吗? ipcMain.on('select-music-file', (event, args) => { dialog.showOpenDialog({ properties: ['openFile', 'multiSelections'] }).then(result => { alert(result.filePaths) }) })
2019-11-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

showOpenDialog回调方法不走,windows系统

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信