通常,您可以在JavaScript中使用地圖功能來更新回來的數據。我似乎無法找到在Dart Streams中允許使用的方法。撲火firebase_database加入兩個節點
例 https://firebase.googleblog.com/2013/10/queries-part-1-common-sql-queries.html
var fb = new Firebase("https://examples-sql-queries.firebaseio.com/");
fb.child('user/123').once('value', function(userSnap) {
fb.child('media/123').once('value', function(mediaSnap) {
// extend function: https://gist.github.com/katowulf/6598238
console.log(extend({}, userSnap.val(), mediaSnap.val()));
});
});
我這個用撲firebase_database嘗試。
var _fireFollower =FirebaseDatabase.instance.reference()
.child('followers/' + auth.currentUser.uid);
_fireFollower.onValue.map((snap){
print(snap.snapshot.key);
});
但是map函數永遠不會被調用,所以當它從Firebase獲取時,我無法加入任何其他數據。
此外,我想使用的是一個FirebaseAnimatedList,所以我怎麼能通過一個查詢,如果我不做地圖?
new FirebaseAnimatedList(
query: _fireFollower,
sort: (a, b) => b.key.compareTo(a.key),
padding: new EdgeInsets.all(8.0),
reverse: false,
itemBuilder: (_, DataSnapshot snapshot,
Animation<double> animation) {
return new Activity(
snapshot: snapshot, animation: animation);
},
),
飛鏢和顫振都是新的給我,但我覺得有什麼不對的插件firebase_database。 我在github中添加了更多插件[https://github.com/flutter/flutter/issues/10321](https://github.com/flutter/flutter/issues/10321) 它在我看來,我應該可以通過使用map函數來操作Stream'onValue'。 – ajonp
已更新的問題如何與FirebaseAnimatedList一起使用。 @ collin-jackson – ajonp
您可以使用FutureBuilder讀取您想要的數據,並確保它在構建列表時可用。如果您不需要它在數據更改時自動更新,請考慮使用常規ListView。或者你可以使用FutureBuilder進行更多的查詢。 –