import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
class ChatMessages extends StatelessWidget {
const ChatMessages({super.key});
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: FirebaseFirestore.instance
.collection('chat')
.orderBy(
'createAt',
descending: false,
)
.snapshots(),
builder: (context, chatsnapshots) {
if (chatsnapshots.connectionState == ConnectionState.waiting) {
return const Center(
child: CircularProgressIndicator(),
);
}
if (!chatsnapshots.hasData || chatsnapshots.data!.docs.isEmpty) {
return const Center(
child: Text('No message found '),
);
}
if (chatsnapshots.hasError) {
return const Center(
child: Text('something went wrong'),
);
}
final loadedMessages = chatsnapshots.data!.docs;
return ListView.builder(
itemCount: loadedMessages.length,
itemBuilder: (context, index) =>
Text(loadedMessages[index].data()['text']),
);
},
);
}
}
我想显示从 Flutter 应用程序输入的消息。 Firebase 消息已更新,但应用程序中未更新。
您遇到的错误可能与访问列表生成器中的
text
字段有关。仔细检查以确保该值不为空。
此外,在数据库中存储聊天数据时,请确保没有存储任何空值。这有助于防止将来出现类似错误。