【问题标题】:Redirect when clicked on Swal cancel button but not when clicked outside of Swal单击 Swal 取消按钮时重定向,但在 Swal 外部单击时不重定向
【发布时间】:2021-06-07 10:09:51
【问题描述】:

我尝试使用result.dismissresult.isDismissedresult.isDenied,但我似乎无法足够具体地检查用户是否在 swal 消息之外单击。 这是我的代码:

Swal.fire({
  position: "top-end",
  title: `${name} successfully added to cart!`,
  icon: "success",
  showCancelButton: true,
  cancelButtonText: "Continue shopping",
  cancelButtonColor: "green",
  confirmButtonText: "Go To Cart",
  confirmButtonColor: "blue",
}).then((result) => {
  if (result.isConfirmed) history.push("/cart");
  else if (location.pathname == "/" && !result.dismiss)
    history.push("/products");
});

谢谢!

【问题讨论】:

  • 根据你使用的版本,Swal提供了“allowOutsideClick”选项,不知道是不是和你的问题有关?
  • 不相关但感谢您的评论:)
  • 好的,抱歉打扰了大声笑:)

标签: javascript sweetalert2


【解决方案1】:

您可以通过检查结果.dismiss 原因是否等于Swal.DismissReason.cancel 来检查警报是否被取消使用取消按钮:

Swal.fire({
  position: "top-end",
  title: "Item successfully added to cart!",
  icon: "success",
  showCancelButton: true,
  cancelButtonText: "Continue shopping",
  cancelButtonColor: "green",
  confirmButtonText: "Go To Cart",
  confirmButtonColor: "blue",
}).then((result) => {
  if (result.dismiss === Swal.DismissReason.cancel) {
    console.log("Redirect for cancel");
  } else {
    console.log("Redirect for non-cancel dismissals");
  }
});
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.0.16/dist/sweetalert2.all.min.js"></script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 2020-03-11
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 2016-03-18
    相关资源
    最近更新 更多