我正在创建一个电子应用程序。我将用户进度保存在一个文件中。当用户尚未保存并尝试关闭应用程序时,我希望应用程序显示通常的“关闭前保存更改”。
我可以显示一个自定义对话框,但是,我想以本机方式进行。
(示例:在 macOS 上,当您编辑文件时,红色按钮会发生变化,让用户知道应用程序有未保存的内容)
我知道这可能必须在 Electron 的侦听器中完成,以便关闭应用程序:
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
...防止quit()
被调用。而是处理未保存的文件状态和对话框。
PD:我已经处理了知道用户是否保存进度的逻辑。我只想知道如何为我的电子应用程序设置“未保存”状态并正确处理它。
(例子是Visual Studio Code,它也是一个Electron App)