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) {
super.didRemove(route, previousRoute);
final String? routeName = _extractRouteName(route);
final _RouteData currentRoute = _RouteData.ofRoute(route);
final previousRouteName = _extractRouteName(previousRoute);
Get.log("REMOVING ROUTE $routeName");
Get.log("PREVIOUS ROUTE $previousRouteName");
_routeSend?.update((Routing value) {
value.route = previousRoute;
value.isBack = false;
value.removed = routeName ?? "";
value.previous = previousRouteName ?? '';
value.isBottomSheet =
currentRoute.isBottomSheet ? false : value.isBottomSheet;
value.isDialog = currentRoute.isDialog ? false : value.isDialog;
});
if (route is GetPageRoute ||
route is MaterialPageRoute ||
route is CupertinoPageRoute) {
RouterReportManager.instance.reportRouteWillDispose(route);
}
routing?.call(_routeSend);
}