You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter开发报错:QuerySnapshot<Object?>未定义getter 'documents'

解决Firestore QuerySnapshot的'documents'未定义错误

这个错误是因为Firestore SDK版本更新后API做了调整:

  • QuerySnapshot的documents属性已被移除,改用docs属性获取查询结果列表
  • 文档数据的获取从.data属性改为.data()方法

修改后的代码如下:

var capitalValue = value.substring(0,1).toUpperCase() + value.substring(1);

if(queryResult.length == 0 && value.length == 1) {
   SearchService().searchProduct(value).then((QuerySnapshot docs){
     for(int i = 0; i < docs.docs.length; i++) {
       // 若确定文档数据非空,可使用docs.docs[i].data()!
       queryResult.add(docs.docs[i].data());
     }
   });
}
else{
  tempSearch = [];
  queryResult.forEach((element) {
    if(element['category'].startsWith(capitalValue)) {
      setState(() {
        tempSearch.add(element); 
      });
    }
  });
}

关键修改点

  • 把所有docs.documents替换为docs.docs
  • 把docs.documents[i].data替换为docs.docs[i].data(),如果需要强制非空可以加!(需确保文档存在数据)

内容的提问来源于stack exchange,提问作者user19908504

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 23:10:25