【问题标题】:Ionic 3 How to display toast on modal?Ionic 3 如何在模态上显示吐司?
【发布时间】:2020-05-08 12:35:15
【问题描述】:

您好,我有不常见的创建活动结构。首先OverviewPage 用户可以打开模式,从列表中选择一个活动后,它会推送到所需的activityPage - 活动创建页面。

一旦用户离开该页面,提交新活动,我按该顺序使用导航方法

this.navCtrl.getPrevious().data.toastMessage = 'Added activity successfully';
this.navCtrl.pop();

添加新活动后,它会返回 OverviewPage 并打开模式,不幸的是它不会重新加载该页面,因此我无法在 ionViewWillEnter 中检测到是否可以显示该弹出窗口。

if(this.navParams.data.toastMessage) {
 this.presentToast(this.navParams.data.toastMessage)
}

如何更改代码以在创建新活动后以模式显示该 toastMessage ?谢谢。

【问题讨论】:

  • 出于好奇,您为什么要在模态框内显示吐司?我只是想了解您到底想要什么。
  • 它在DailyOverViewPage 上的工作方式是这样的,您可以打开带有各种活动链接的模式 - 每个活动都指向特定页面。一旦你创建了一个活动,它就会弹出到上一个页面,在该页面中,模式仍然是打开的,如果用户愿意,他可以创建另一个。它的设计并不公平。但是我设法以不同的方式处理它,我放弃了将navParams 发送到模态的想法,并坚持在该活动页面上创建活动后显示吐司 - 所以它在屏幕上停留的时间足够长以显示即使在那个模式上。

标签: angular typescript ionic3


【解决方案1】:

所以解决方案非常简单,不知道是否推荐,但我将 presentModal 函数留在每个活动中并删除了该部分:

this.navCtrl.getPrevious().data.toastMessage = 'Added activity successfully';

所以现在活动创建的最后几行是显示 toast 和弹出导航堆栈,令人惊讶的是它的效果很好。

this.appFunctionCtrl.presentSuccessToast('Added activity successfully', 1500);
this.navCtrl.pop();

【讨论】:

    猜你喜欢
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    相关资源
    最近更新 更多