didRemove method
The Navigator removed route
.
If only one route is being removed, then the route immediately below
that one, if any, is previousRoute
.
If multiple routes are being removed, then the route below the
bottommost route being removed, if any, is previousRoute
, and this
method will be called once for each removed route, from the topmost route
to the bottommost route.
Implementation
@override
void didRemove(Route route, Route? previousRoute) {
var beginIndex = routeHistory.indexOf(route);
var endIndex = -1;
if (previousRoute != null){
endIndex = routeHistory.indexOf(previousRoute);
}
if((endIndex == -1 && beginIndex != -1) || beginIndex -1 == endIndex){
routeHistory.remove(route);
}else if(endIndex != -1 && beginIndex != -1){
routeHistory.removeRange(beginIndex,endIndex);
}
super.didRemove(route, previousRoute);
report();
}