в моем приложении у меня есть шестой экран, на каждом экране есть одна кнопка. Когда вы нажимаете кнопку, вы переходите к следующему экрану. Я хочу попробовать, когда вы нажимаете кнопку экрана, вы переходите на третий экран и удаляете четвертый, пятый и шестой экран из стека навигации, а затем в моем стеке навигации на трех экранах: первом, втором и третьем.
Я использую этот код
Navigator.of(context).pushAndRemoveUntil(
MaterialPageRoute(builder: (context) => const thirdScreen()),(Route<dynamic> route) => route.isFirst
);





Используйте этот код
Navigator.of (context).pushAndRemoveUntil( MaterialPageRoute(builder:(context) => const ThirdScreen()), (path<dynamic> path) => path.first || route.settings.name == '/second', . );
Использовать это
Navigator.of(context).pushAndRemoveUntil( MaterialPageRoute(builder: (context) => const ThirdScreen()), (Route<dynamic> route) => route.isFirst || route.settings.name == '/first_screen', );
Я не могу использовать имя маршрута, чтобы оно работало?
Вы также можете заархивировать эту вещь следующим образом:
void onButtonPressed(BuildContext context) {
// Pop screens until you reach the first screen
Navigator.of(context).popUntil((route) => Navigator.of(context).first == route);
// Navigate to the ThirdScreen
Navigator.of(context).push(MaterialPageRoute(builder: (context) => ThirdScreen()));
}
Я не могу использовать имя маршрута, чтобы оно работало? @джитеш Кумар