to method
Future<T?>
to(
- Widget page(), {
- bool? opaque,
- Transition? transition,
- Curve? curve,
- Duration? duration,
- String? id,
- String? routeName,
- bool fullscreenDialog = false,
- Object? arguments,
- List<
BindingsInterface> bindings = const <BindingsInterface>[], - bool preventDuplicates = true,
- bool? popGesture,
- bool showCupertinoParallax = true,
- double gestureWidth(
- BuildContext context
- bool rebuildStack = true,
- PreventDuplicateHandlingMode preventDuplicateHandlingMode = PreventDuplicateHandlingMode.reorderRoutes,
override
Navigates to a new page and returns a result of type T
.
Implementation
@override
Future<T?> to(
Widget Function() page, {
bool? opaque,
Transition? transition,
Curve? curve,
Duration? duration,
String? id,
String? routeName,
bool fullscreenDialog = false,
Object? arguments,
List<BindingsInterface> bindings = const <BindingsInterface>[],
bool preventDuplicates = true,
bool? popGesture,
bool showCupertinoParallax = true,
double Function(BuildContext context)? gestureWidth,
bool rebuildStack = true,
PreventDuplicateHandlingMode preventDuplicateHandlingMode =
PreventDuplicateHandlingMode.reorderRoutes,
}) async {
routeName = cleanRouteName("/${page.runtimeType}");
final GetPage<T> getPage = GetPage<T>(
name: routeName,
opaque: opaque ?? true,
page: page,
gestureWidth: gestureWidth,
showCupertinoParallax: showCupertinoParallax,
popGesture: popGesture ?? Get.defaultPopGesture,
transition: transition ?? Get.defaultTransition,
curve: curve ?? Get.defaultTransitionCurve,
fullscreenDialog: fullscreenDialog,
bindings: bindings,
transitionDuration: duration ?? Get.defaultTransitionDuration,
preventDuplicateHandlingMode: preventDuplicateHandlingMode,
);
_routeTree.addRoute(getPage);
final PageSettings args = _buildPageSettings(routeName, arguments);
final RouteDecoder? route = _getRouteDecoder(args);
final T? result = await _push(
route!,
rebuildStack: rebuildStack,
);
_routeTree.removeRoute(getPage);
return result;
}