【问题标题】:Whats the alternative to if (routeSettings.isInitialRoute) in flutter颤振中 if (routeSettings.isInitialRoute) 的替代方法是什么
【发布时间】:2020-10-13 09:00:59
【问题描述】:

既然 isInitialRoute 已从颤振中删除,我还能用什么代替? (最初的路线是 / ,如果我们可以直接解决)

    Widget build(BuildContext context) {
      return WillPopScope(
        child: Navigator(
          key: navigationKey,
          initialRoute: initialRoute,
          onGenerateRoute: (RouteSettings routeSettings) {
            WidgetBuilder builder = routes[routeSettings.name];
            if (routeSettings.isInitialRoute) {
              return PageRouteBuilder(
                pageBuilder: (context, __, ___) => builder(context),
                settings: routeSettings,
              );
            } else {
              return MaterialPageRoute(
                builder: builder,
                settings: routeSettings,
              );
            }
          },
        ),
        onWillPop: () {
          if(navigationKey.currentState.canPop()) {
            navigationKey.currentState.pop();
            return Future<bool>.value(false);
          }
          return Future<bool>.value(true);
        },
      );
    }

【问题讨论】:

    标签: android flutter dart mobile


    【解决方案1】:

    您必须使用settings.name=='/',因为routeSettings.isInitialRoute 已弃用。参考this

    【讨论】:

      猜你喜欢
      • 2018-08-31
      • 2017-11-13
      • 2021-10-07
      • 2020-11-16
      • 2013-07-26
      • 1970-01-01
      • 2018-12-17
      • 2019-08-08
      • 1970-01-01
      相关资源
      最近更新 更多