dialog.showMessageBoxSyn c (null, options) становится скрытым - PullRequest
1 голос
/ 11 февраля 2020

У меня есть приложение Electron. Если я использую dialog.showmessageBoxSync обычно, он должен ждать ввода пользователя. Доступны следующие варианты: закрыть, отменить или ок.

Работает нормально, но если я щелкну за пределами диалогового окна (в любом месте моего приложения), то это окно сообщения будет скрыто. Я не могу нажать на любую опцию.

Как сделать так, чтобы окно сообщений оставалось сфокусированным, пока пользователь не выберет кнопку, чтобы щелкнуть или закрыть диалоговое окно? Пользователь должен быть вынужден ответить на окно сообщения, прежде чем продолжить работу в остальной части приложения.

dialog.showMessageBoxSync({
                    type: "info",
                    buttons: ["Ok,", "Cancel"],
                    defaultId: 0,
                    title: "",
                    message:""
                    cancelId: 1,
})

1 Ответ

2 голосов
/ 11 февраля 2020

Я бы предложил передать в родительское окно

Из документов

Аргумент browserWindow позволяет диалогу присоединяться к родительскому окну, делая его модальным.


 const iconPath = upath.toUnix(upath.join(__dirname, "app", "assets", "icon.png"));
    const dialogIcon = nativeImage.createFromPath(iconPath);

    var options = {
        type: 'question',
        buttons: ['&Yes', '&No'],
        title: 'Confirm Quit',
        icon: dialogIcon,
        normalizeAccessKeys: true,
        message: 'Do you really want to close the application?'
    };

    const win = BrowserWindow.getFocusedWindow();
    dialog.showMessageBox(win, options)
        .then((choice) => {
            if (choice.response === 0) {
                quitApplication();
            }
        }).catch(err => {
            console.log('ERROR', err);
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...