firebase NoSuchMethodError(NoSuchMethodError:参数不匹配的闭包调用:函数'\[\]'接收器:Closure:()=\> Map\< String,dynami....)

hyrbngr7  于 2023-06-30  发布在  其他
关注(0)|答案(1)|浏览(133)

我无法解决我的应用程序中出现的此异常:发生异常。NoSuchMethodError(NoSuchMethodError:参数不匹配的闭包调用:函数'[]'接收器:Closure:()=> Map<String,dynamic> from Function 'data':.已尝试呼叫:找到:=> Map<String,dynamic>)

GridView.builder(
                gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                    crossAxisCount: 3),
                itemBuilder: (context, index) {
                  var ourData = snapshot.data[index];

                  return Card(
                    elevation: 10.0,
                    shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(20.0)),
                    child: ClipRRect(
                      borderRadius: BorderRadius.circular(20),
                      child:
                          Image.network(ourData.data['img'], fit: BoxFit.cover),
                    ),
                  );
                },
                itemCount: snapshot.data.length,
              ),

提前感谢您的帮助。
我希望存储在我的Cloud Firestore中的图像将加载到页面上。

mum43rcc

mum43rcc1#

我不知道你的数据结构是什么样的。但是,我认为它不是一个List,而是一个Map<String,dynamic>。
所以,如果你想从FireStore获取数据,试试这个。

// Change ref to suit your conditions.
final snapshot = await ref.get();
final data = snapshot.data() as Map<String, dynamic>;

然后,将Map<String,dynamic>数据转换为List。

相关问题