Электрон: диалоговое окно сообщения с формой - PullRequest
0 голосов
/ 15 марта 2019

Можно ли получить информационное диалоговое окно с формой или вводом?
Идея состоит в том, что если мы нажмем на btnDialog, он откроет диалоговое окно, в котором мы можем определить значение для значения1 или нет.

html:

<button id="btnDialog">Define value1</button>

Renderer:

var value1 = 0;
document.getElementById("btnDialog").onclick = function(){
   ipcRenderer.send('opend');
}
ipcRenderer.on('returnd',(event,index)=>{
   if(index==0){
       //value1 = value of input
   }
});

Main:

ipcMain.on('opend',(event)=>{
    const options = {
        type:'info',
        title: 'Title',
        buttons:['OK','Cancel'],
        message: 'Define value1 <form><input></input></form>'
    };
    dialog.showMessageBox(options,(index)=>{
      event.sender.send('returnd',index);
    });
});

Я не вижу, как получить значение из формыпри необходимости.
Заранее благодарим за помощь.

1 Ответ

2 голосов
/ 15 марта 2019

Короткий ответ НЕТ, вы не можете извлечь значение формы из Dialog MessageBox.

API MessageBox очень понятен, он возвращает только индекс нажатой кнопки, даже при использовании асинхронного обратного вызова, как вы делали выше.

Правильный способ достижения вашей цели - создать новое Окно браузера , которое будет содержать правильную форму и с которым вы сможете правильно взаимодействовать.

Кроме того, если вы хотите удалить Chrome из окна, вы можете добавить Настройки безрамного окна .

В любом случае вы бы использовали обычный API обмена сообщениями для связи между основным процессом и окном браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...