Flutter Firestore:未为类“Object?”定义运算符“[]”。 - “对象”来自“飞镖:核心”

Posted

技术标签:

【中文标题】Flutter Firestore:未为类“Object?”定义运算符“[]”。 - “对象”来自“飞镖:核心”【英文标题】:Flutter Firestore: The operator '[]' isn't defined for the class 'Object?'. - 'Object' is from 'dart:core' 【发布时间】:2022-01-22 15:12:24 【问题描述】:

我尝试了很多东西,但它一直显示错误:

children: snapshot.data!.docs.map((document) 
                final data = document.data()! as Map<String, dynamic>;
                print(data);
                return ProductCard(
                  title: Text(data["name"]),
                  imageUrl: document.data()['images'][0],
                  price: "\$$document.data()['price']",
                  productId: document.id, onPressed: (),
                );
              ).toList(),
            );

【问题讨论】:

请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。 【参考方案1】:

这是我的错误,正确的解决方案是:

children: snapshot.data!.docs.map((document) 
                final data = document.data()! as Map<String, dynamic>;
                print(data);
                return ProductCard(
                  title: "$data["name"]",
                  imageUrl: data['images'][0],
                 // price: "\$$data['price']",
                  productId: document.id, onPressed: (),
                );
              ).toList(),

【讨论】:

以上是关于Flutter Firestore:未为类“Object?”定义运算符“[]”。 - “对象”来自“飞镖:核心”的主要内容,如果未能解决你的问题,请参考以下文章

未为“对象”类型定义运算符“[]”[重复]

Cloud Firestore 错误未为“对象”类型定义运算符“[]”。升级到 2.0.0 后?

Flutter:未为 DataSnapshot 类定义 forEach 方法

未为类型“Object Function()”定义运算符“[]”

Flutter 2 构建项目:错误:没有为类“_LoadingIndicatorState”定义方法“SpinKitPouringHourglass”

没有为类'Person'定义方法'set_age'。飞镖