Browse Source

Pass custom RouteSettings with FluroRouter.navigateTo

lukepighetti 5 năm trước cách đây
mục cha
commit
acfa580547
1 tập tin đã thay đổi với 7 bổ sung2 xóa
  1. 7 2
      lib/src/fluro_router.dart

+ 7 - 2
lib/src/fluro_router.dart

@@ -47,11 +47,13 @@ class FluroRouter {
       bool clearStack = false,
       TransitionType transition,
       Duration transitionDuration = const Duration(milliseconds: 250),
-      RouteTransitionsBuilder transitionBuilder}) {
+      RouteTransitionsBuilder transitionBuilder,
+      RouteSettings routeSettings}) {
     RouteMatch routeMatch = matchRoute(context, path,
         transitionType: transition,
         transitionsBuilder: transitionBuilder,
-        transitionDuration: transitionDuration);
+        transitionDuration: transitionDuration,
+        routeSettings: routeSettings);
     Route<dynamic> route = routeMatch.route;
     Completer completer = Completer();
     Future future = completer.future;
@@ -104,6 +106,9 @@ class FluroRouter {
     if (routeSettings == null) {
       settingsToUse = RouteSettings(name: path);
     }
+    if (routeSettings.name == null) {
+      settingsToUse = settingsToUse.copyWith(name: path);
+    }
     AppRouteMatch match = _routeTree.matchRoute(path);
     AppRoute route = match?.route;
     Handler handler = (route != null ? route.handler : notFoundHandler);