Javascript 重复的toastr错误消息
我正在使用Javascript 重复的toastr错误消息,javascript,toastr,Javascript,Toastr,我正在使用toastr2.1JavaScript库来显示瞬时用户输入验证错误消息。我将preventDuplicates选项设置为true。它不起作用——当用户连续快速单击“验证”按钮(单击速度比“超时”快)时,我仍然会看到重复的消息 以下是我的默认设置: 函数getDefaults(){ 返回{ 塔普托迪斯:没错, 祝酒词课:“祝酒词”, containerId:“toast container”, 调试:错误, showMethod:'fadeIn'、//fadeIn、slideDown和s
toastr2.1
JavaScript库来显示瞬时用户输入验证错误消息。我将preventDuplicates
选项设置为true。它不起作用——当用户连续快速单击“验证”按钮(单击速度比“超时”快)时,我仍然会看到重复的消息
以下是我的默认设置:
函数getDefaults(){
返回{
塔普托迪斯:没错,
祝酒词课:“祝酒词”,
containerId:“toast container”,
调试:错误,
showMethod:'fadeIn'、//fadeIn、slideDown和show内置于jQuery中
演出时间:300,
showEasing:'swing'、//swing和linear内置于jQuery中
onShown:未定义,
隐藏方法:“淡出”,
受教育程度:1000,
隐藏:“挥杆”,
onHidden:未定义,
延长超时时间:1000,
i包括:{
错误:“toast错误”,
信息:'吐司信息',
成功:为成功干杯,
警告:“敬酒警告”
},
iconClass:“toast info”,
positionClass:“右上角烤面包”,
timeOut:5000,//将timeOut和extendedTimeOut设置为0以使其具有粘性
标题类:“祝酒词标题”,
messageClass:“toast消息”,
目标:"身体",,
closeHtml:“×;”,
纽斯托普:没错,
重复:正确,
progressBar:错误
};
}
我是否需要进行任何其他更改以防止重复错误消息?我和您有相同的要求。下面是我的实现。看看它是否能帮助你
函数hassamerortoastr(消息){
var hassamerrortostr=false;
var$toast container=$(“#toast container”);
如果($toastcainer.length>0){
var$errorToastr=$toastcainer.find('.toast error');
如果($errorToastr.length>0){
var currentText=$errorToastr.find('.toast message').text();
var areEqual=message.toUpperCase()==currentText.toUpperCase();
如果(相等){
hasSameErrorToastr=true;
}
}
}
返回HASSAMERRORTOSTR;
}
//用法
var消息='删除用户时出错';
如果(hasSameErrorToastr(消息)){
toastr.error(消息、标题、ERRORSTOASTROPTIONS);
}
我也遇到了同样的问题,结果是toastr preventDuplicates选项不适用于数组消息(当前版本2.1.1)。您需要使用join将数组转换为字符串。我相信它能按预期工作
preventDuplicates: Prevent duplicates of the **last toast**.
也许这就是你要找的房子
preventOpenDuplicates: Prevent duplicates of open toasts.
这可能会有所帮助
var config = {
maxOpened: 1,
timeOut: 100
}
把它放在你的toastr配置中。它应该可以工作。opened toastr设置为1,timeout设置为100。这可能会有帮助
toastr.options = {
"preventDuplicates": true,
"preventOpenDuplicates": true
};
toastr.error("Your Message","Your Title",{timeOut: 5000});
在toastr.min.js中搜索
preventDuplicates
,然后进行更改
preventDuplicates:!1
到
将重复项:1添加到
toastr.options = {
maxOpened: 1,
preventDuplicates:1,
autoDismiss: true
};
我也面临同样的问题,通过在我的模块文件中添加下面的代码来解决
ToastrModule.forRoot({
maxOpened: 1,
preventDuplicates: true,
autoDismiss: true
})
此外,如果实现了延迟加载,那么您需要向父模块文件添加与我在我的app.module.ts中添加的代码相同的代码行。为什么用户要快速连续单击“验证”按钮?用户可以进行更改,然后再次单击“验证”按钮,此持续时间可能短于toastr消息超时。是否在此更新?你设法解决了这个问题吗?CodeSeven上的演示很好,但我似乎也无法在我的项目中使用它。对于任何想知道为什么toastr.min.js文件中没有这个的人来说,这似乎只是toastr的角度js端口,而不是vanillaYes,这对我很有帮助:this.toastr.toastrConfig.preventDuplicates=true;请不要在缩小的文件中编辑代码,您应该使用选项设置,如
toastr.options.preventDuplicates:true代码>取而代之。如果在文件中编辑代码,然后更新文件,则代码将被删除。基本上,在这种情况下,您正在编辑核心文件。
ToastrModule.forRoot({
maxOpened: 1,
preventDuplicates: true,
autoDismiss: true
})