gpt4 book ai didi

javascript - dialog.showSaveDialog不返回任何内容

转载 作者:行者123 更新时间:2023-12-03 12:21:19 25 4
gpt4 key购买 nike

因此,我试图创建一个简单的“保存对话框”,用户可以在其中选择一个位置和文件名,它将在该指定位置创建一个文件。

我遵循了文档,还 checkout 了一些教程,代码是完全相同的,但是显然在我的情况下,当我打开对话框,选择一个位置并单击“保存”时,在的回调中我没有得到任何回复dialog.showSaveDialog方法。

抱歉,这是一个菜鸟错误,我才刚开始学习Electron。

这是我的代码:

const { dialog } = require('electron').remote

const createBtn = document.getElementById('create_btn')

createBtn.addEventListener('click', async () => {
console.log('First Response: ', await dialog.showSaveDialog())

dialog.showSaveDialog(path => {
console.log('Second Response: ', path)
})
})

这是完整的控制台日志:
First Response:  {}

编辑:
根据最新文档,我也尝试过这种方法。但是没有运气!
const { dialog } = require('electron').remote

const createBtn = document.getElementById('create_btn')

createBtn.addEventListener('click', async () => {
dialog.showSaveDialog({}).then((result) => {
console.log('Second Response: ', result)
}).catch((...args) => {
console.warn('failed/rejected with', args)
})
})

Electron :v7.1.8

最佳答案

我怀疑您只需要单击控制台中的{}即可扩展结果;)

Here is演示showSaveDialogElectron Fiddle

<button id="save">Show save dialog</button>
<pre id="output"></pre>

// renderer.js
const { dialog } = require('electron').remote;

const outEl = document.getElementById('output');
function log(...args) {
console.log(...args);
outEl.innerText += args.join(' ');
}

const buttonEl = document.getElementById('save');
buttonEl.addEventListener('click', async () => {
const dialogOptions = {};
try {
const result = await dialog.showSaveDialog(dialogOptions);
log('Save resolved:', result);
const { filePath } = result;
log('filePath -->', filePath);
} catch (e) {
log('Save failed:', e)
}
});

关于javascript - dialog.showSaveDialog不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59668749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com