首页 > 解决方案 > 删除 Flutter 中的特定对话框

问题描述

在应用程序中,我们有各种对话框。例如,在一种情况下:

用户单击一个按钮并获得一个“加载对话框”。客户端以“通知对话框”的形式获得新闻通知。用户获取加载的数据并被转发到显示数据的页面。

所以“历史”/“层次结构”应该是[“加载对话框”、“通知对话框”、“数据页”]

加载数据后,我们要删除历史记录中另一个对话框下方和数据页面下方的“加载对话框”。

如何告诉颤振中的特定对话框关闭?

目前显示数据的页面有一个命名路由,对话框是通过 showDialog(...) 打开的

标签: flutterdialog

解决方案


您应该能够使用Navigator.of(context).pop()删除来自showDialog(...). 因此,如果您在推送新页面之前调用它,它将起作用。你需要确保你有一个构建上下文可以使用,否则它会起作用。

这也适用于推送到导航器堆栈的任何内容,例如通过showModalBottomSheet(...).


推荐阅读