我正在嘗試在 firebase 資料庫中的 listview 中實時顯示資料,但是我遇到了 forEach 問題,這到底是由于什么?我嘗試了很長時間的不同解決方案,但我無法解決它,有誰知道解決這個問題的方法應該是什么?
我附上代碼
class UserTask {
Future<List<Task>> getTask() async {
List<Task> groupTask = [];
try {
DatabaseReference ref = FirebaseDatabase.instance
.ref()
.child("grupos")
.child("grupoid3")
.child("tareas");
DatabaseEvent event = await ref.once();
if (event.snapshot.exists) {
event.snapshot.value.forEach((key, value) {
Map mapa = {"key": key, ...value};
Task nuevaTask = Task(
titulo: mapa["titulo"],
contenido: mapa["contenido"],
key: mapa["key"],
);
groupTask.add(nuevaTask);
});
}
return groupTask;
} catch (e) {
return groupTask;
}
} }

uj5u.com熱心網友回復:
您需要轉換該值,以便代碼知道期望什么以及物件可以做什么或不能做什么。
嘗試這個:
final tasks = event.snapshot.value as Map<dynamic, dynamic>;
tasks.forEach((key, value) {
Map mapa = {"key": key, ...value};
Task nuevaTask = Task(
titulo: mapa["titulo"],
contenido: mapa["contenido"],
key: mapa["key"],
);
groupTask.add(nuevaTask);
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/430835.html
標籤:火力基地 扑 镖 firebase-实时数据库
