【发布时间】:2018-10-02 17:02:09
【问题描述】:
我的应用由位于树根的StatefulWidget 组成,它传递其状态以及将状态更改为InheritedWidget 的回调。在其中一个回调中,创建了 Firebase 的 Firestore 内文档的侦听器以侦听更改,然后显示 SnackBar 通知用户更改。
现在的问题是如何从树根的父级访问当前活动的Scaffold。在根和当前活动的Scaffold 之间可能有多个其他Scaffolds,这取决于有多少路由被推送到Navigator。但要显示SnackBar,必须使用最新的。
【问题讨论】:
-
我认为如果您添加一些示例代码会很有用
-
@Azsgy 按照您的要求,我添加了一些示例代码。
-
@RémiRousselet 我添加了一个解释,描述了为什么帖子不是重复的。请删除有关重复的标志。如果帖子需要进一步澄清,请告诉我。
-
我仍然不明白这与stackoverflow.com/questions/45948168/… 提供的示例有何不同。答案还是一样的:
Scaffold.of(context).showSnackbar(snackbar)。唯一的区别是您需要将context作为addDocumentListener的参数传递。 -
@RémiRousselet 我希望最新的编辑能够阐明为什么将当前 Scaffold 的上下文传递给
addDocumentListener是不够的
标签: flutter