pushRemoveUntil<T extends Object?, TO extends Object?> function
Future<T?>
pushRemoveUntil<T extends Object?, TO extends Object?>(
- String path,
- RoutePredicate predicate, {
- Map<
String, String?> ? query, - Map<
String, Object?> ? body, - BuildContext? context,
push一个路由并弹出指定路由
query
是一个只有字符串键值对的Map, 直接拼接在路径后面, 这样可以在web环境下保持状态
body
可以为任意对象, 但是不能在不同会话之间保持(比如web端的刷新)
Implementation
Future<T?> pushRemoveUntil<T extends Object?, TO extends Object?>(
String path,
RoutePredicate predicate, {
Map<String, String?>? query,
Map<String, Object?>? body,
BuildContext? context,
}) {
final navigator = gNavigatorKey.currentState ?? context?.navigator;
if (navigator == null) throw _kNoNav;
return navigator.pushNamedAndRemoveUntil(
_routeName(path, query),
predicate,
arguments: body,
);
}