我有Provider,我将List的初始值设为null。在打开应用程序的第一个实例中,出现错误“在null上调用了getter'length'。”因为我正在家庭小部件中使用此提供程序。如果List为空,如何考虑值0?
class BagProvider with ChangeNotifier {
List bag_items = null;
我正在听这个消费者。
Consumer<BagProvider>(
builder: (_, bag, __) => Badge(
value:
bag.bag_items.length,
child: IconButton(
icon: Icon(
Icons.shopping_cart,
),
onPressed: () {
Navigator.of(context).pushNamed(CartScreen.routeName);
},
),
))
答案 0 :(得分:1)
尝试
Consumer<BagProvider>(
builder: (_, bag, __) => Badge(
value:
bag.bag_items?.length,
child: IconButton(
icon: Icon(
Icons.shopping_cart,
),
onPressed: () {
Navigator.of(context).pushNamed(CartScreen.routeName);
},
),
))