在我们的 Flutter Cupertino 项目中,我们需要在底部栏图标之一上显示一个徽章。准确地说,购物车中有多少商品。
我已经尝试过这里提供的不同小部件和解决方案,但BottomNavigationBarItem
只接受icon: Icon(..)
,没有别的。例如,如果我使用 puticon: Stack(..)
而不是icon: Icon(..)
,则会显示错误消息,例如“Invalid const value...”
这是一些示例代码:
class CupertinoStoreHomePage extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CupertinoTabScaffold(
tabBar: CupertinoTabBar(
items: const <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.home),
title: Text('Kühlschrank'),
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.profile_circled),
title: Text('Konto'),
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.shopping_cart),
title: Text('Warenkorb'),
),
],
),
所以如果我不能把任何东西代替Icon(..)
。没有其他小部件,没有Stack(..)
。
为什么?我怎样才能放一些其他小部件,例如Badge(..)
:
badges: ^1.0.2
import 'package:badges/badges.dart';
这个问题与可能的重复问题不同,因为我已经尝试了那里发布的解决方案,但仍然无法使用 Stack(..),而只能使用 Icon(..)。