Electron doesn't support prompt dialogs.はないwindow.promptでもありません。
レンダラプロセスでsweetalertまたはその他のnpmパッケージを使用することができます。メインプロセスから呼び出す必要がある場合は、ipcMainを使用してレンダラーに送信できます。
(未テスト)の実施例
メインプロセス:
const { ipcMain } = require('electron')
let promptHandler
ipcMain.on('prompt-handler-registered', event => promptHandler = event.sender)
// Create Promise to make it easier to get the promptHandler
const getPromptHandler = new Promise((resolve) => {
const watcher = setInterval(() => {
// You'll probably want to set a timeout here
if (!promptHandler) return
resolve(promptHandler)
clearInterval(watcher)
}, 200)
})
...
// When you want to prompt the user
getPromptHandler
.then(ph => ph.send('display-prompt', {
title: 'Whats your name?',
...
})
)
レンダラプロセス:あなたは2つのテキストフィールドを持つダイアログを表示するために、独自の対話システムを実装する必要があり
const { ipcRenderer } = require('electron')
const swal = require('sweetalert2')
function displayPrompt(data) {
swal({
title: data.title,
input: 'text',
})
}
ipcRenderer.send('prompt-handler-registered')
ipcRenderer.on('display-prompt', displayPrompt)