【发布时间】:2018-01-17 04:51:27
【问题描述】:
我有一个 Ionic 2 应用程序,它在各个地方都有吐司通知。
一个很好的例子是用户在应用程序上更新他们的个人资料,然后我运行一些验证检查。如果用户未通过某些验证,我可能会调用以下代码:
let toast = this.toastCtrl.create({
message: 'Sorry, your password must be at least 6 characters long. Your account was not updated.',
duration: 3000,
position: 'top'
});
toast.present();
那里没有问题。它只显示 3 秒然后消失。
同时显示多个时会出现问题。例如,用户可能输入了一个 6 个字符的密码,但由于其他原因它没有验证,因此会引发另一个 toast 通知:
let toast = this.toastCtrl.create({
message: 'Sorry, your passwords do not match. Your account was not updated.',
duration: 3000,
position: 'top'
});
toast.present();
这会导致 2 个 toast 重叠,一个将永久保留。这两个重叠不是问题,但一个无限期保留的事实是一个大问题。
我想这是因为我每次都有效地覆盖了 toast 变量。
解决此问题的最佳方法是什么?我不想拥有toast1、toast2 等,因为这不会解决问题,因为用户可能会两次启动相同的 toast 通知(
【问题讨论】:
-
如何制作吐司?我同时创建了多个 toast,并且都按预期工作。
-
很多
let toast = this.toastCtrl.create({ ... }); toast.present();。我只在实验室 (ionic serve --lab) 上测试过,但假设它在设备上是一样的。 -
请查看this answer。通过对所有 toast 使用相同的属性,您每次可以只显示一个 toast(因为如果它们是验证消息,重叠 toast 是没有意义的)。
-
@sebaferreras:你知道如何重现这个问题吗?我尝试了很多方法,但无法面对它。哈哈
标签: ionic-framework ionic2 toast