我想在当前屏幕运行时导航到另一个屏幕。如果在 Firestore 集合中添加新文档,则应用程序监听它并导航到另一个页面。请帮帮我...
答案 0 :(得分:0)
我认为传统导航器不可能做到这一点,但是,“模拟”类似内容的一种方法是使用 IndexedStack,它可以同时加载两个小部件,您只需选择一个索引即可。当我需要一个漂亮的启动画面并希望我的其他小部件尽早加载时,我已经成功地使用了它。
但是,在我看来,您的问题更多地与维护状态有关。我建议在 lifting state up 上阅读 Flutter 的页面。您可以在 MaterialApp 上方使用类似 Provider 之类的东西来保持数据加载,即使您的小部件不在屏幕上,或者只是使用导航器参数在页面之间来回传递您的状态(我不建议这样做)。< /p>
答案 1 :(得分:0)
你可以试试这样的
void initState() {
listenFirestore();
super.initState();
}
listenFirestore() async {
Firestore.instance
.collection('availableDates')
.snapshots()
.listen((data) => {
// here you can call navigator method
});
}
监听 Firebase 的变化并调用一个函数来导航新屏幕。
如果您使用的是 Flutter Bloc,则可以使用 BlocListener
来执行此操作。
BlocListener 官方 doc。