Flutter Provider“ getter'length'被调用为null。”

时间:2020-06-22 19:53:02

标签: flutter flutter-provider

我有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);
                      },
                    ),
                  ))

1 个答案:

答案 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);
                      },
                    ),
                  ))