【发布时间】:2019-11-10 16:39:04
【问题描述】:
我正在尝试按从最新到最旧的顺序从 Firebase 收集我的消息。但是我的消息在最后一个之后和最后一个之前随机显示一次。 尽管我的最终谁通过反向订购我的收藏
我尝试实时查找任何订单主题,但在 Flutter 和 Firestore 上找不到任何相关信息。 (也许我是盲人或者我看起来不太好)
class MessagesStream extends StatelessWidget {
@override
Widget build(BuildContext context) {
return StreamBuilder<QuerySnapshot>(
stream: _fireStore.collection('messages').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(
backgroundColor: Colors.lightBlueAccent,
),
);
}
final messages = snapshot.data.documents.reversed;
List<MessageBubble> messageBubbles = [];
for (var message in messages) {
final messageSender = message.data['sender'];
final messageText = message.data['text'];
final currentUser = loggedInUser.email;
final messageBubble = MessageBubble(
sender: messageSender,
text: messageText,
isMe: currentUser == messageSender,
);
messageBubbles.add(messageBubble);
}
return Expanded(
child: ListView(
reverse: true,
padding: EdgeInsets.symmetric(horizontal: 10.0, vertical: 20.0),
children: messageBubbles,
),
);
},
);
}
}
我将我的数据添加到这个小部件中:
FlatButton(
onPressed: () {
messageTextController.clear();
_fireStore.collection('messages').add(
{'text': messageText, 'sender': loggedInUser.email});
},
child: Text(
'Send',
style: kSendButtonTextStyle,
),
),
【问题讨论】:
-
如何将数据添加到 Firestore添加代码
-
FlatButton( onPressed: () { messageTextController.clear(); _fireStore.collection('messages').add( {'text': messageText, 'sender': loggedInUser.email}); }, child: Text( 'Send', style: kSendButtonTextStyle, ), ),我将我的数据添加到这个小部件中
标签: firebase flutter google-cloud-firestore