7.3.2的文檔:https://github.com/electron/electron/blob/v7.3.2/docs/api/dialog.md 不同版本可以切換
一個是同步對話框,另外一個是異步。
同步:
//will-prevent-unload這個事件隻會在彈出框關閉時觸發,比如alert,confirm
win.webContents.on('will-prevent-unload', (event) => {
console.log(" ==cust_event_notify_dialog_confirm==");
const options = {
type: 'question',
buttons: ['Cancel', 'Yes, please', 'No, thanks'],
defaultId: 2,
cancelId: 0,
title: 'Question',
message: 'my window?',
detail: 'It does not really matter',
checkboxLabel: 'remember',
checkboxChecked: true,
};
const choice= dialog.showMessageBoxSync(win, options);
const isCancel = (choice === 0)
if (!isCancel) {
event.preventDefault()//确認
}
})
異步:
// 視窗關閉
win.on('close', (e) => {
e.preventDefault();
dialog.showMessageBox(win, {
type: 'warning',
title: '關閉',
message: '是否退出?',
buttons: ['取消', '确定']
}).then((index) => {
if (index.response === 1) {
win = null;
app.exit();
}
});
});