Sweetalert: 多个甜蜜警报接踵而至?

创建于 2015-11-11  ·  12评论  ·  资料来源: t4t5/sweetalert

嘿,

感谢您的甜蜜插件,真的很喜欢它!
但是,当我必须在彼此之后链接多个“确认”时,我遇到了一个小挑战。

如果您在“确认”按钮上点击“太快”,页面就会卡住,并且没有响应,接下来的几个确认不显示。

我通过在 SWAL 调用中添加延迟来稍微绕过这一点,但是如果您单击的速度比延迟快,它将再次中断。

展示案例的钢笔:
http://codepen.io/anon/pen/dYQapo

然而,页面似乎保持响应,但下一个 SWAL 没有显示,只是在旧的消失后不久。

并且这支笔延迟显示案例,如果您在完成加载 SWAL 之前单击确认,它只会停止显示下一个。
http://codepen.io/anon/pen/QjJYdm

与 #43​​3、#359 和 #253 相似/相同。

期待你的回信! :)

最有用的评论

我有和上面一样的问题。 如果有人觉得这很有用:

swal({
            //whatever parameters in first sweet alert
    },
        function(){
                        setTimeout(function(){
                             swal({ //whatever parameters in second sweet alert});
                       }, time);
     });

为了避免在链接两个或多个警报时出现“冻结”的甜蜜警报,只需添加一个小超时。 也许不是最奇特的解决方案,但它对我有用。

所有12条评论

不幸的是,我也遇到了这个错误,这几乎使 Sweetalert 无法满足我的项目需求。

很遗憾,因为我没有时间开始挖掘代码以推动我自己的修复,但我喜欢该库的功能。 我将密切关注它是否得到修复,一旦修复,您就可以将此开发人员(及其用户)视为忠实的甜蜜警报者。

可悲的是,感觉这个项目已经被放弃了。
即使是克隆版 SweetAlert2,仍然存在这些错误并且很长时间没有更新。

真的很遗憾,它被放弃了,因为它是一个非常好的项目!

但是有 121 个未解决的问题和 37 个未合并的 PR。 它不太可能很快得到修复或更新。

但是,#457 的可能性发生了变化,它似乎能够处理这个主要问题。

@inctor@Charlex我写了一个指南,介绍如何使用我在 #457 处编写的代码添加来执行此操作。 因为它是在现有的 Sweetalert 库之上添加的,所以不需要合并到项目中/更新库代码。 如果您有更好的想法,请告诉我。

@kentmw英雄。 我会试一试,看看我是否遇到任何痛苦。

SweetAlert2支持模态队列: https: //sweetalert2.github.io/#chaining -modals

我有和上面一样的问题。 如果有人觉得这很有用:

swal({
            //whatever parameters in first sweet alert
    },
        function(){
                        setTimeout(function(){
                             swal({ //whatever parameters in second sweet alert});
                       }, time);
     });

为了避免在链接两个或多个警报时出现“冻结”的甜蜜警报,只需添加一个小超时。 也许不是最奇特的解决方案,但它对我有用。

@pararrayos有点

抱歉耽误了这么久的人。 这些问题现在应该在使用promise 的SweetAlert 2.0 中得到修复!

非常感谢@t4t5的更新。 喜欢新的网站布局 BTW!

如果有人在调用 swal (可能是旧版本)时偶然发现了这一点并且也未定义。 这是我解决它的方法:

if(notifications.length > 1) {
            var i = 0;
            function displayNext(){
                swal({title: notifications[i].title, text: notifications[i].body, type: 'info', closeOnConfirm:true}, function(){
                    if(i < notifications.length){
                        setTimeout(function(){
                            displayNext();
                        },500);
                    }
                });
                i++;
            }
            displayNext();
        }

是的,此修复仅适用于临时。 但没关系

@pararrayos谢谢..!!!

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Untit1ed picture Untit1ed  ·  5评论

xgqfrms-GitHub picture xgqfrms-GitHub  ·  4评论

vmitchell85 picture vmitchell85  ·  6评论

fracz picture fracz  ·  4评论

sastrahost picture sastrahost  ·  5评论