【问题标题】:below is the code to elaborate errore while using streamBuilder Widget in flutter [duplicate]下面是在flutter中使用streamBuilder Widget时详细说明错误的代码[重复]
【发布时间】:2022-03-13 23:02:46
【问题描述】:
            StreamBuilder<QuerySnapshot>(
          stream: _firestore.collection('messages').snapshots(),
          builder: (context, snapshot) {
            if (!snapshot.hasData) {
              return Center(
                child: CircularProgressIndicator(
                  backgroundColor: Colors.amberAccent,
                ),
              );
            }
            final message = snapshot.data.documents;//The getter 'documents' isn't defined for the type 'QuerySnapshot<Object>'.
            List<Text> messageWidgets = [];
            for (var message in message) {
              final messageText = message.data['text'];
              final messageSender = message.data['sender'];
              final messageWidget =
                  Text('$messageText from $messageSender');
              messageWidgets.add(messageWidget);
            }
            return Column(
              children: messageWidgets,
            );
          },
        ),

在第 11 行代码中,文档下方有一条红线。 “没有为类型 'QuerySnapshot' 定义 getter 'documents'。”

当我用 docs 替换它时。错误发生了,但在第 14-15 行的 ['text'] 和 ['sender'] 下方显示了另一条红线。

              final messageText = message.data['text'];
              final messageSender = message.data['sender'];

【问题讨论】:

  • 回答下面的当前问题。当你修复它时,你得到什么错误?您是否已经搜索过该错误消息?

标签: android firebase flutter google-cloud-firestore stream-builder


【解决方案1】:

文档的访问器现在称为docs,所以:

final message = snapshot.data.docs;

对于此类问题,我建议将参考文档放在手边,在本例中为QuerySnapshot class

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-28
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多