popToNamed method
void
popToNamed(})
Calls beamToNamed with a ReverseTransitionDelegate and tries to
remove everything from history after entry corresponding to uri
, as
if doing a pop way back to that state, if it exists in history.
See beamToNamed for more details.
Implementation
void popToNamed(
String uri, {
Object? routeState,
Object? data,
String? popToNamed,
bool beamBackOnPop = false,
bool popBeamLocationOnPop = false,
bool stacked = true,
bool replaceRouteInformation = false,
}) {
while (beamingHistory.isNotEmpty) {
final index = beamingHistory.last.history.lastIndexWhere(
(element) => element.routeInformation.uri == Uri.parse(uri),
);
if (index == -1) {
_disposeBeamLocation(beamingHistory.last);
beamingHistory.removeLast();
continue;
} else {
beamingHistory.last.history
.removeRange(index, beamingHistory.last.history.length);
break;
}
}
beamToNamed(
uri,
routeState: routeState,
data: data,
popToNamed: popToNamed,
transitionDelegate: const ReverseTransitionDelegate(),
beamBackOnPop: beamBackOnPop,
popBeamLocationOnPop: popBeamLocationOnPop,
stacked: stacked,
replaceRouteInformation: replaceRouteInformation,
);
}