首页 > 解决方案 > 无法在飞镖中映射项目列表(对象引用)

问题描述

我的地图循环有问题,我无法映射我的项目列表,也许这是因为是参考列表?有什么解决方案可以改变这样做的形状吗?

我的代码:

NavigationRoute initialRoute = NavigationRoute(
  route: '/',
  widget: Home(),
);

NavigationRoute home = NavigationRoute(
  title: 'Home',
  route: '/home',
  icon: Icons.home,
  color: Colors.teal,
  widget: Home(),
);

NavigationRoute cardsNavigator = NavigationRoute(
  title: 'Cards',
  route: '/cardsNavigator',
  icon: Icons.card_giftcard,
  color: Colors.teal,
  widget: CardsNavigator(),
);

NavigationRoute example = NavigationRoute(
  title: 'Example',
  route: '/example',
  icon: Icons.business,
  color: Colors.teal,
  widget: ExamplePage(),
);

List<NavigationRoute> navigation = <NavigationRoute>[
  initialRoute,
  home,
  cardsNavigator,
  example,
];

我试图在项目地图中使用它:

  bottomNavigationBar: BottomNavigationBar(
            currentIndex: currentIndex,
            onTap: (index) {
              setState(() {
                currentIndex = index;
                digitalBankingNavigator.currentState?.pushNamed(
                    digitalBankingRoutes.navigation[currentIndex].route);
              });
            },
            items: digitalBankingRoutes.navigation
                .map((route) => BottomNavigationBarItem(
                    icon: Icon(route.icon),
                    label: route.title,
                    backgroundColor: route.color))
                .toList(),
          ),

标签: flutterdart

解决方案


initialRoute是但在领域中title是不可能的。nulllabelBottomNavigationBarItemnull

所以,你必须在initialRoute.

NavigationRoute initialRoute = NavigationRoute(
  // Provided a title here
  title: 'Some Title'
  route: '/',
  widget: Home(),
);

NavigationRoute home = NavigationRoute(
  title: 'Home',
  route: '/home',
  icon: Icons.home,
  color: Colors.teal,
  widget: Home(),
);

NavigationRoute cardsNavigator = NavigationRoute(
  title: 'Cards',
  route: '/cardsNavigator',
  icon: Icons.card_giftcard,
  color: Colors.teal,
  widget: CardsNavigator(),
);

NavigationRoute example = NavigationRoute(
  title: 'Example',
  route: '/example',
  icon: Icons.business,
  color: Colors.teal,
  widget: ExamplePage(),
);

List<NavigationRoute> navigation = <NavigationRoute>[
  initialRoute,
  home,
  cardsNavigator,
  example,
];

如果您有任何疑问,请发表评论。


推荐阅读