Windows.alert() 防止访问/数据进入电子反应应用程序中的文本输入字段。处理 windows.alert 的最佳方法是啥?
Posted
技术标签:
【中文标题】Windows.alert() 防止访问/数据进入电子反应应用程序中的文本输入字段。处理 windows.alert 的最佳方法是啥?【英文标题】:Windows.alert() preventing access/data entry into text input field in electron-react app. What is the best way to handle windows.alert?Windows.alert() 防止访问/数据进入电子反应应用程序中的文本输入字段。处理 windows.alert 的最佳方法是什么? 【发布时间】:2020-09-28 02:16:12 【问题描述】:我在电子反应应用程序中有一个文本输入字段。 windows.alert() 用于通过在给定条件下更改状态的警报。但是在发出警报之后,一个完全独立的表单中的输入文本字段将不允许用户在不点击应用程序然后再返回的情况下输入数据。
我目前确实有一个解决方法,即使用电子的 ipcRenderer 和 ipcMain 引发警报,但样式与应用程序的其余部分不匹配。有没有办法处理 windows.alert() 不会阻止数据输入到文本输入字段?是什么导致 windows.alert() 阻止将数据输入到文本输入中?
之前的代码示例:
function doSomething(value)
let array = otherArray;
if (array.length == 0)
//The below was blocking typing into <input> in a completely separate form.
window.alert("Please add expected value first")
使用来自 preload.js 和 ipcMain 的 ipcRenderer 解决代码:
function doSomething(value)
let array = otherArray;
if (array.length == 0)
window.api.send("send-alert", "Please add expected value first")
//in main.js
ipcMain.on("send-alert", (event, incomingMessage)=>
let options =
message: incomingMessage
dialog.showMessageBox(mainBrowserWindow, options)
【问题讨论】:
【参考方案1】:使用 toastr 绕过这个。
阅读:https://github.com/CodeSeven/toastr
触发错误或警告消息来代替 window.alert() 方法。 IE:
toastr.warning()
或 toastr.error()
【讨论】:
以上是关于Windows.alert() 防止访问/数据进入电子反应应用程序中的文本输入字段。处理 windows.alert 的最佳方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章