我正在使用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
最佳答案
要使用finally()
方法,您应该在页面中添加polyfill for Promise.prototype.finally,例如:
<script src="https://cdn.jsdelivr.net/promise.prototype.finally/1.0.1/finally.js"></script>
PS。我刚刚将
Promise.prototype.finally
polyfill的链接添加到示例页面:https://sweetalert2.github.io/#chaining-modals