pushNamedAndRemoveAll<T> static method

Future<T?> pushNamedAndRemoveAll<T>(
  1. BuildContext context,
  2. String routeName, {
  3. Object? arguments,
  4. NavTransitionType? transitionType,
  5. Duration? transitionDuration,
  6. Duration? reverseTransitionDuration,
})

Push a named route and clear the entire back-stack.

Implementation

static Future<T?> pushNamedAndRemoveAll<T>(
  BuildContext context,
  String routeName, {
  Object? arguments,
  NavTransitionType? transitionType,
  Duration? transitionDuration,
  Duration? reverseTransitionDuration,
}) {
  _assertValid(routeName);

  final Object? effectiveArgs = transitionType != null
      ? buildTransitionArgs(
          originalArguments: arguments,
          transitionType: transitionType,
          transitionDuration: transitionDuration,
          reverseTransitionDuration: reverseTransitionDuration,
        )
      : arguments;

  return Navigator.pushNamedAndRemoveUntil<T>(
    context,
    routeName,
    (Route<dynamic> route) => false,
    arguments: effectiveArgs,
  );
}