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");
Другие вопросы по тегам