【发布时间】:2021-08-07 16:18:45
【问题描述】:
错误:1.参数类型'Stream'不能分配给参数类型'Stream
DatabaseServices().getTasks(uId).then((val){
taskstream=val;
});
Widget taskList(){
return StreamBuilder<QuerySnapshot>(
stream: taskstream,//error 1
builder: (context, snapshot){
return snapshot.hasData ?
ListView.builder(
padding: EdgeInsets.only(top: 16),
itemCount: snapshot.data!.docs.length,
shrinkWrap: true,
itemBuilder: (context, index){
return TaskTile(
snapshot.data!.docs[index].data["isCompleted"],//3 and 2
snapshot.data!.docs[index].data["task"],//3
snapshot.data!.docs[index].documentID,
);
}) : Container();
},
);
数据库gettask函数-
getTasks(String userId) async {
return await FirebaseFirestore.instance.collection("users")
.doc(userId)
.collection("tasks")
.snapshots();
}
class TaskTile
class TaskTile extends StatefulWidget {
final bool isCompleted;
final String task;
final String documentId;
TaskTile(this.isCompleted, this.task, this.documentId);
@override
_TaskTileState createState() => _TaskTileState();
}
【问题讨论】:
-
你用的是什么版本的firestore,taskStream等于什么?
-
另外,如果你分享你的
taskstream,它会更容易提供帮助。
标签: firebase flutter google-cloud-firestore