SweetAlert2提示Unknown parameter "onBeforeOpen" 加载器不显示如何解决
问题原因
从8.0.0版本开始,SweetAlert2对所有生命周期钩子做了命名规范调整,旧版本的onBeforeOpen配置项被正式废弃,替换为willOpen。
你当前项目引入的是调整后的高版本SweetAlert2,无法识别onBeforeOpen参数,写在该回调内的Swal.showLoading()逻辑不会执行,因此出现弹窗正常弹出但加载器不显示的问题,同时控制台抛出未知参数的错误提示。
修复方法
将配置中的onBeforeOpen字段名修改为willOpen即可,修正后的代码如下:
Swal.fire({ title: '<h4 style="color: #0c5460;">Updating user status</h4>', html: '<h5 style="color: #0c5460">Wait...</h5>', width: 400, padding: '1em', background: '#fff url(/images/cream_pixels.png)', timer: 1000, willOpen: () => { Swal.showLoading() }, });
修改完成后刷新页面,加载动画即可正常展示,控制台报错也会同步消失。
同版本其他常用生命周期钩子的新旧对应关系如下,碰到同类未知参数报错可对照排查:
- 旧
onOpen→ 新didOpen - 旧
onClose→ 新willClose - 旧
onAfterClose→ 新didClose
内容的提问来源于stack exchange,提问作者Pouya Vaghefi
相关产品推荐
相关产品推荐

