我在离开页面之前使用React-Router的Prompt来显示确认对话框。他们使用history package中的history.block
实施了提示,该history.block
使用了浏览器的默认对话框。问题在于许多浏览器都会显示"阻止此页面创建其他对话框"选项,当用户点击此选项时,任何启动“提示”对话框的操作都将被完全忽略(单击时没有任何反应)。
我尝试实施一种解决方法,要求我获取提示的结果,或者获得history.block
的结果。有没有办法在用<p><button data-rid="<? $r['id']; ?>" class="cart-button btn btn-lg btn-block btn-outline-primary" type="button">Add to Cart</button></p>
创建的对话框上做出选择后立即执行操作?
答案 0 :(得分:3)
您可以选择不使用提示,而自己使用history.block方法来执行一些相关操作,例如创建自定义弹出窗口/模式以警告用户是否尝试返回。不要忘记在卸载时或使用任何路由方法之前取消阻止它。
var hasDuplicate = false;
var index = 0;
foreach(var element in CompleteScancodeList)
{
if(element == originalRow.Cells[1].Value.ToString() && index != originalRow.Index)
{
hasDuplicate = true;
break;
}
index++;
}
if (hasDuplicate)
{
//Do something
}