【发布时间】:2023-04-10 10:10:02
【问题描述】:
如果我尝试获取数据,例如 snapshot.data.lenght,它不起作用(如果我按 Tab,它甚至不会显示)并且我收到以下错误:
在构建 FutureBuilder>(dirty, state: _FutureBuilderState>#7a7e2) 时引发了以下 NoSuchMethodError: 类“列表”没有实例获取器“文档”。 接收方:“_GrowableList”的实例(长度:2) 尝试调用:文档
我的代码:
Future<List> _getPlants() async {
var firestore = Firestore.instance;
QuerySnapshot qn = await firestore.collection("easy_plants").getDocuments();
List<PlantsMainItem> plantsmainnew = [];
for (int i = 0; i < qn.documents.length; i++) {
var a = qn.documents[i];
PlantsMainItem plantsitem = PlantsMainItem(
a.data["title"],
a.data["titlelatin"],
a.data["content"],
NetworkImage(a.data["image"]),
a.data["sunlevel"],
a.data["level"]);
print(plantsitem.titlelatin);
plantsmainnew.add(plantsitem);
}
//print(plantsmainnew.length);
return plantsmainnew;
}
小部件构建(BuildContext 上下文){
return Container(
child: FutureBuilder(
future: _getPlants(),
builder: (context, snapshot) {
if(snapshot.data == ConnectionState.waiting) {
return Container(
height: 200,
width: 400,
child: Padding(
padding: EdgeInsets.all(20),
child: Center(
child: Container(
child: LinearProgressIndicator(),
),
),
),
);
} else {
print(snapshot.data);
return Text("TEST", style: TextStyle(fontSize: 30));
}
}
),
);
}
【问题讨论】: