Flutter Firestore QuerySnapshot 没有 getter 'document 的实例
Posted
技术标签:
【中文标题】Flutter Firestore QuerySnapshot 没有 getter \'document 的实例【英文标题】:Flutter Firestore QuerySnapshot has no instance of getter 'documentFlutter Firestore QuerySnapshot 没有 getter 'document 的实例 【发布时间】:2020-04-07 13:09:53 【问题描述】:我正在使用它从 firestore 数据库中获取消息列表,但是,它给了我一个错误:
flutter:构建时抛出了以下 NoSuchMethodError: 颤振:类“QuerySnapshot”没有实例获取器“文档”。 颤振:接收器:“QuerySnapshot”的实例 颤振:尝试调用:文档
我使用的代码是:
StreamBuilder(
stream: Firestore.instance
.collection('messages')
.document(groupId)
.collection(groupId)
.orderBy('timestamp', descending: true)
.snapshots(),
builder: (BuildContext context, AsyncSnapshot snapshot)
if (!snapshot.hasData)
return Center(
child: CircularProgressIndicator(),
);
else
listMessage = snapshot.data.documents;
return ListView.builder(
padding: EdgeInsets.all(10.0),
itemBuilder: (context, index) =>
buildItem(index, snapshot.data.document[index]),
itemCount: snapshot.data.documents.length,
reverse: true,
controller: scrollController,
);
,
),
我是 Firestore 和 noSQL 的新手,有人可以帮忙吗?
【问题讨论】:
【参考方案1】:我遇到了同样的问题,我的解决方法是将documents
更改为docs
,见下文:
snapshot.data.docs[index]
【讨论】:
【参考方案2】:所以问题出在builder:(BuildContext context, AsyncSnapshot snapshot)
它应该是(BuildContext context, AsyncSnapshot'<'QuerySnapshot'>' snapshot)
加上你就可以访问snapshot.data.documents
QuerySnapshot
没有尖括号的引号,我必须把它们放在那里才能在 *** 上显示。
【讨论】:
【参考方案3】:我有同样的问题。这是一个错字。
snapshot.data.document[index]
应该是:
snapshot.data.documents[index]
【讨论】:
【参考方案4】:我也有这个问题。 我的解决方法是将其重写为
snapshot.data[index]['name']
【讨论】:
【参考方案5】:buildSearchResult()
return FutureBuilder(
future: searchResultFuture,
builder: (context, snapshot)
if (!snapshot.hasData)
return circularProgress();
// otherwise if it has data
List<Text> searchResults = [];
snapshot.data.**documents**.forEach((doc)
User user = User.fromDocument(doc);
searchResults.add(Text(user.username));
);
return ListView(
children: searchResults,
);
);
我遇到了类似的问题,我的问题是因为我在上面标记为粗体的文档中省略了字母“s”。我写的是“文档”而不是“文档”
【讨论】:
以上是关于Flutter Firestore QuerySnapshot 没有 getter 'document 的实例的主要内容,如果未能解决你的问题,请参考以下文章
无法从 Firestore 文档中删除字段 (Flutter)
Firestore,Flutter,Async:方法不等待异步方法完成
Flutter/cloud-firestore“任务已经完成”异常
Flutter - 任务':cloud_firestore:compileDebugJavaWithJavac'的执行失败