SweetAlert2:意外的html类型!预期为“字符串”,但有对象

时间:2018-08-29 09:37:23

标签: javascript sweetalert2

我正在尝试一个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类型!预期为“字符串”,有对象

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

我在做什么错了?

2 个答案:

答案 0 :(得分:1)

您已经安装了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> 

答案 1 :(得分:-1)

使用最新的sweetalert

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

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

here是文档