Selaa lähdekoodia

Fix child fields with the web history (#2172)

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
Evan Almloff 1 vuosi sitten
vanhempi
commit
9f280a8d84
1 muutettua tiedostoa jossa 18 lisäystä ja 7 poistoa
  1. 18 7
      packages/router-macro/src/lib.rs

+ 18 - 7
packages/router-macro/src/lib.rs

@@ -462,14 +462,25 @@ impl RouteEnum {
             }
         }
         for route in &self.routes {
-            for segment in &route.segments {
-                if segment.name().as_ref() == Some(field) {
-                    from_route = true
+            match &route.ty {
+                RouteType::Child(child) => {
+                    if let Some(child) = child.ident.as_ref() {
+                        if child == "child" {
+                            from_route = true
+                        }
+                    }
                 }
-            }
-            if let Some(query) = &route.query {
-                if query.contains_ident(field) {
-                    from_route = true
+                RouteType::Leaf { .. } => {
+                    for segment in &route.segments {
+                        if segment.name().as_ref() == Some(field) {
+                            from_route = true
+                        }
+                    }
+                    if let Some(query) = &route.query {
+                        if query.contains_ident(field) {
+                            from_route = true
+                        }
+                    }
                 }
             }
         }