SweetAlert2:意想不到的html类型!预期"string",得到对象



我正在尝试让一个显示两个按钮的 SweetAlert2 对话框,其中包含以下代码片段:

swal('Some text', {
buttons: {
buttonA: {
text: 'Some text',
value: 'buttonA',
className: 'some-class'
},
buttonB: {
text: 'Some other text',
value: 'buttonB',
className: 'some-class'
}
},
buttonsStyling: false
}).then((result) => {
switch (result) {
case 'buttonA':
// Do something
break;
default:
// Do something else
}
})

但是我收到以下错误消息:

SweetAlert2:意想不到的html类型!预期的"字符串",得到对象

此外,该对话框仅显示一个"确定"按钮

我做错了什么?

你已经安装了 SweetAlert2,但使用的是 SweetAlert 的 API。这两个是当今具有不同 API 的不同插件。

使用 SweetAlert2 的 API 获得所需的结果:

swal({
title: 'Hello world!',
confirmButtonText: 'Some text',
cancelButtonText: 'Some other text',
confirmButtonClass: 'some-class',
cancelButtonClass: 'some-other-class',
showCancelButton: true
}).then(function(result) {
if (result.value) {
console.log('button A pressed')
} else {
console.log('button B pressed')
}
})
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@7"></script>

使用最新的sweetalert

只需将您的sweetalert脚本文件替换为以下内容:

<script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>

这是文档

最新更新