我在 Flutter 中有一个使用 Firestore 的聊天应用程序,我有两个主要集合:
chats,这是对键自动标识,并且有message,timestamp和uid领域。users,它被键入uid,并且有一个name字段在我的应用程序中,我messages使用这个小部件显示了一个消息列表(来自集合):
class ChatList extends StatelessWidget {
@override
Widget build(BuildContext context) {
var messagesSnapshot = Firestore.instance.collection("chat").orderBy("timestamp", descending: true).snapshots();
var streamBuilder = StreamBuilder<QuerySnapshot>(
stream: messagesSnapshot,
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> querySnapshot) {
if (querySnapshot.hasError)
return new Text('Error: ${querySnapshot.error}');
switch (querySnapshot.connectionState) {
case ConnectionState.waiting: return new Text("Loading...");
default:
return new ListView(
children: querySnapshot.data.documents.map((DocumentSnapshot doc) {
return new ListTile(
title: new Text(doc['message']),
subtitle: new …Run Code Online (Sandbox Code Playgroud)