3

我正在使用 sweetalert2 验证电子邮件地址,但我希望它随后显示一个文本输入以输入要输入的名称。我知道它链接了模式,但我一生都无法从页面上给出的示例中弄清楚如何?

var cloud_email = $('.cloud_email').text();
var user_name = $('.user_name').text();;
swal.setDefaults({
  confirmButtonText: 'Next →',
  showCancelButton: true,
  animation: false
});

var steps = [
  {
    //ask for and validate email here
    type: 'question',
    title: 'Please enter email address',
    input: 'email',
    inputValue: cloud_email  
  },
  {
    //ask for and validate text input here
    type: 'question',
    title: 'Please enter user name',
    input: 'text',
    inputValue: user_name
  }
];

swal.queue(steps).then(function(email, name) {
  swal({
    type: 'success',
    html: 'Email successfully sent to: ' + name + ': '+ email
  });
}).finally(function() {
  swal.resetDefaults();
  //ajax to process values passed
})

我的尝试返回此错误:

swal.queue(...).then(...).finally is not a function
4

1 回答 1

2

要使用finally()方法,您应该在页面中包含Promise.prototype.finally 的 polyfill,例如:

<script src="https://cdn.jsdelivr.net/promise.prototype.finally/1.0.1/finally.js"></script>

PS。我刚刚将Promise.prototype.finallypolyfill 的链接添加到示例页面:https ://sweetalert2.github.io/#chaining-modals

于 2016-08-17T00:50:27.863 回答