SweetAlert2 确认后禁止外部点击

SweetAlert2 disallow outside click after confirm

我想创建一个类似于 ajax-example 的警报,但允许外部点击关闭 确认之前。用户点击确认后,我想在操作完成之前禁止外部点击。

像示例中那样将配置变量 allowOutsideClick 设置为 false 将永远不允许外部点击,而且我在文档中没有看到以编程方式实现此行为的有效方法。

可以将函数传递给allowOutsideClick参数:

allowOutsideClick: () => { 
  // add your logic here and return boolean 
}

您的情况:

Swal.fire({
  title: 'Submit email to run ajax request',
  input: 'email',
  showLoaderOnConfirm: true,
  preConfirm: (email) => {
    return new Promise((resolve) => {
      setTimeout(() => {
        resolve()
      }, 3000)
    })
  },
  allowOutsideClick: () => !swal.isLoading()
})
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>