popToSelectOrFirstAndPushNamed<T extends RouteParams?> method
Future
popToSelectOrFirstAndPushNamed<
T extends RouteParams?>( - String path, {
- List<T> args = const [],
})
Implementation
Future popToSelectOrFirstAndPushNamed<T extends RouteParams?>(
String path, {
List<T> args = const [],
}) async {
final popParams = getArgumentAndClean<_PopParam>()?.popParams;
final navigator = navigate;
var returnAsExpected = false;
navigator.popUntil((route) {
if (route.settings.name == path) {
return returnAsExpected = true;
}
return route.isFirst;
});
if (!returnAsExpected) {
await pushNamed(path, args: [...args, popParams], navigator: navigator);
}
}