popUntil method

void popUntil (
  1. RoutePredicate predicate
)

Calls pop repeatedly until the predicate returns true.

The predicate may be applied to the same route more than once if Route.willHandlePopInternally is true.

To pop until a route with a certain name, use the RoutePredicate returned from ModalRoute.withName.

The routes are closed with null as their return value.

See pop for more details of the semantics of popping a route.

Typical usage is as follows:
void _doLogout() {
  navigator.popUntil(ModalRoute.withName('/login'));
}

Implementation

void popUntil(RoutePredicate predicate) {
  while (!predicate(_history.lastWhere(_RouteEntry.isPresentPredicate).route)) {
    pop();
  }
}