【问题标题】:Flutter Provider "The getter 'length' was called on null."Flutter Provider“在 null 上调用了 getter 'length'。”
【发布时间】:2020-10-12 18:54:58
【问题描述】:

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

【问题讨论】:

  • 用不为空的空列表初始化变量。像这样List bag_items = List();

标签: flutter flutter-provider


【解决方案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);
                      },
                    ),
                  ))

【讨论】:

    猜你喜欢
    • 2021-08-11
    • 2021-12-10
    • 2021-05-25
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    相关资源
    最近更新 更多