我正在创建一个 Electron 应用程序。我将用户进度保存在一个文件中。我希望应用在用户未保存并尝试关闭应用时显示通常的“关闭前保存更改”。 p>
我可以显示一个自定义对话框,但是,我想以 native 方式进行。
(示例:在 macOS 上,当您编辑文件时,红色按钮会发生变化,让用户知道该应用程序有未保存的内容)
我知道这可能必须在关闭应用程序的 Electron 监听器中完成:
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
... 阻止 quit()
被调用。而是处理未保存的文件状态和对话框。
PD:我已经处理了了解用户是否已保存其进度的逻辑。我只想知道如何为我的 Electron 应用程序设置“未保存”状态并正确处理它。
(例子是Visual Studio Code,也是一个Electron App)
最佳答案
我通常使用全局变量来指示发生的变化,例如在关闭应用程序的情况下: 主要代码:
mainWindow.on('close', function (event) {
if (global.savetoask== 'Yes') {
event.preventDefault();
//send a ipc message to request a confirm dialog
.............
} else {
app.exit();
}
});
关于macos - 关闭 Electron 应用程序时如何本地显示“保存更改”对话框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49787588/