【问题标题】:Encountering error while using ChangeNotifierProvider.value in Gridview.builder在 Gridview.builder 中使用 ChangeNotifierProvider.value 时遇到错误
【发布时间】:2020-07-16 14:33:43
【问题描述】:

这可能是一个错误并且不受支持。 如果您处于这种情况,请考虑将 key 传递给每个单独的构造函数。

以上是反映在作为子级运行带有颤振小部件的代码时出现的错误:-

    GridView.builder(
      padding: const EdgeInsets.all(10.0),
      itemCount: products.length,
      itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
        value: products[i],
        child: ProductItem(
            ),
      ),
      gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
        crossAxisCount: 2,
        childAspectRatio: 3 / 2,
        crossAxisSpacing: 10,
        mainAxisSpacing: 10,
      ),
    )

【问题讨论】:

    标签: flutter hybrid-mobile-app flutter-dependencies flutter-change-notifier


    【解决方案1】:

    这种情况可以通过使用指定的键来解决:-

        GridView.builder(
          padding: const EdgeInsets.all(10.0),
          itemCount: products.length,
          itemBuilder: (ctx, i) => ChangeNotifierProvider.value(
            key: Key("item$i"),
            value: products[i],
            child: ProductItem(
                ),
          ),
          gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
            crossAxisCount: 2,
            childAspectRatio: 3 / 2,
            crossAxisSpacing: 10,
            mainAxisSpacing: 10,
          ),
        )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-06
      相关资源
      最近更新 更多