在ionic2中防止重复的Toast消息

时间:2017-07-13 07:31:30

标签: angular typescript ionic2 ionic3

我已在toast项目中使用ToastController实施了ionic2。目前,我遇到了重复的toast邮件问题。有没有办法阻止ionic2 / angular2

中toast消息的重复/重叠

(注意:重复意味着当我点击一个按钮时我正在显示一个祝酒词,如果我多次点击同一个按钮,那么toast消息会重叠)?

export class <className>{
   constructor(private toast:ToastController){
   }
    showToast(message) {
    let toast = this.toastCtrl.create({
        message: message,
        duration: 2000,
        position: 'bottom'
    })
    toast.present();
   }
}

我在点击按钮时调用此方法。

被修改

  1. 带有重复的吐司(使用toastr示例,同样的sitaution适合我) enter image description here

  2. 当我启用“阻止通知”时,重复的吐司不在超时持续时间内。 enter image description here

  3. 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

您可以使用该页面中的属性来保留Toast的实例。然后,在显示祝酒词之后,验证是否正在显示另一个。

import { ToastController, Toast } from 'ionic-angular';

// ...

private toastInstance: Toast;

constructor(private toastCtrl: ToastController) { }

presentToast() {

  if(this.toastInstance) {
    return;
  }

  this.toastInstance = this.toastCtrl.create({
    message: 'User was added successfully',
    duration: 3000,
    position: 'top'
  });

  this.toastInstance.onDidDismiss(() => {
    this.toastInstance = null;
  });

  this.toastInstance.present();
}