reactjs - 在reactjs中使用自定义弹出窗口检测用户离开页面
问题描述
我想打开一个弹出窗口来警告用户,如果他们离开表单而不提交,他们的数据将会丢失。
我听说Prompt
可以做到,但他们不支持我自定义弹出窗口、按钮或处理确认按钮或取消。
有什么方法或组件可以帮助我显示弹出窗口,防止用户使用 2 个自定义按钮离开表单。
先感谢您。
解决方案
使用反应确认警报
安装:
npm i react-confirm-alert
使用:
import { confirmAlert } from 'react-confirm-alert';
import 'styles/react-confirm-alert.css';
创建此自定义功能
const MyCustomConfirm = (content, onAccept, title, acceptTxt, rejectTxt) => {
acceptTxt = acceptTxt || "Yes";
rejectTxt = rejectTxt || "No";
title = title || "Message";
confirmAlert({
title: title,
message: <div className="react-confirm-alert-message">{content}</div>,
buttons: [
{
label: acceptTxt,
className: "btn-secondary", // your own css
onClick: () => {
if (onAccept) {
onAccept();
}
}
},
{
label: rejectTxt,
className: "btn-secondary", // your own css
onClick: () => { }
}
]
});
}
现在你可以在任何地方调用它。例子 :
MyCustomConfirm(' Do you want to clear all ? ', function () {
searchInput.val("");
$(this).val("");
});
推荐阅读
- php - 在不使用 codeigniter 控制器等的情况下访问 codeigniter 上的子文件夹和子域
- asp.net - 无法在运行时从 IIS 中托管的 ASP.NET Core 应用程序设置 ODBC 源
- angular5 - 未提交单选按钮的表单
- linux - 如何判断 MSAccess 表的主键(来自 Linux)
- c# - 如何遍历 timer_tick 事件上的对象列表?
- r - R:如何制作包含汇总和非汇总信息的汇总表?
- javascript - 缓存其参数返回值的函数
- nginx - 是否可以从文件创建 Nginx 路由配置?
- javascript - 即使在验证失败后也提交表单
- gdb - 使用 GDB Python API 从符号名称中获取全局符号的地址