【问题标题】:How can I get all pushed routes from the navigation stack in flutter?如何从导航堆栈中获取所有推送的路由?
【发布时间】:2021-08-27 12:21:34
【问题描述】:

有没有办法从导航堆栈中获取推送路线的名称?

【问题讨论】:

    标签: flutter dart navigation


    【解决方案1】:

    也许 NavigatorObserver 可以帮助你实现你想要的

    MaterialApp(
           navigatorObservers: [MyNavigatorObserver()],...)
    
    
    class MyNavigatorObserver extends NavigatorObserver {
      List<Route<dynamic>> routeStack = List();
    
      void didPush(Route<dynamic> route, Route<dynamic> previousRoute) {
        routeStack.add(route);
      }
    
      void didPop(Route<dynamic> route, Route<dynamic> previousRoute) {
        routeStack.removeLast();
      }
    
      @override
      void didRemove(Route route, Route previousRoute) {
        routeStack.removeLast();
      }
    
      @override
      void didReplace({Route newRoute, Route oldRoute}) {
        routeStack.removeLast();
        routeStack.add(newRoute);
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 2022-12-05
      相关资源
      最近更新 更多