Flutter/Dart - Navigator.pop(context) - Как вернуть два контекста?
У меня есть;
экран / виджет
Home()
который звонит;экран / виджет
MainStage()
который звонит;метод будущего
futureStage()
который строит;PageViewBuilder
StageBuilder()
который содержит;
SwipeGestureRecognizer
который звонит;
Navigator.push (context,
PageTransition(
type: PageTransitionType.downToUp,
child: HomeReply(),
));
HomeReply()
содержит;appBar
со стрелкой / кнопкой, которая позволяет пользователю;Navigator.pop(context)
;
Как заставить навигатор вернуться в Home()
?
2 ответа
Решение
Turns out HomeReply() had an extra MaterialApp in the build. Once I removed this it all worked as normal with Navigator.pop(context);
.
Навигатор представляет собой стек, поэтому вы можете использовать popUntil
способ вернуться на домашний () экран.
Navigator.popUntil(context, ModalRoute.withName('/home'));
или
Navigator.of(context).popUntil((route) => route.settings.name == "Home");