pop<T> method
void
pop<T>([
- T? result
Pops the current route, optionally returning a result.
Implementation
void pop<T>([T? result]) {
if (_routes.isEmpty) return;
final route = _routes.last;
final previousRoute = _routes.length > 1
? _routes[_routes.length - 2]
: null;
// Clean up entry keys before disposing (dispose clears overlayEntries).
for (final entry in route.overlayEntries) {
_entryKeys.remove(entry);
}
_routes.removeLast();
route.dispose();
// Complete the route's future.
final completer = _routeCompleters.remove(route);
if (completer != null && !completer.isCompleted) {
completer.complete(result);
}
setState(() {});
for (final observer in widget.observers) {
observer.didPop(route, previousRoute);
}
}