У меня есть CupertinoApp с CupertinoTabScaffold, CupertinoTabBar и серией BottomNavigationBarItem (s).Мне удалось добавить значок в один из BottomNavigationBarItem (вкладка корзины).См. Рисунок ниже, а также мой код
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return CupertinoTabScaffold(
tabBar: CupertinoTabBar(
backgroundColor: kColorPrimaryLight,
items: [
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.search),
title: Text('Discover'),
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.person_solid),
title: Text('Account'),
),
BottomNavigationBarItem(
icon: Icon(CupertinoIcons.book_solid),
title: Text('Stories'),
),
BottomNavigationBarItem(
icon: Badge(
badgeContent: Text(
appData.basketList.length.toString(),
style: kDescriptionTextStyle,
),
child: Icon(CupertinoIcons.shopping_cart)),
title: Text('Basket'),
),
],
),
Теперь я хотел бы обновить этот значок значка на основе события, которое вызывается водна из другой вкладки.Я сохраняю значение значка в одиночном разряде (appData.basketList
), и эта информация доступна для всех моих экранов.Каждый раз, когда я запускаю это событие, appData.basketList.length.toString () изменяется, но мой значок не меняется.Это только изменится, если я сделаю горячую перезагрузку ... вот мой вопрос: как я могу обновить текст моего значка?
Спасибо!