[英]NodeJs TimeStamp not setting up in correct format Firebase-Firestore
[英]Flutter with Firebase-Firestore (listview)
我嘗試在我的 flutter 應用程序中使用 listview.builder 顯示一個集合,但我總是遇到錯誤,我真的不知道如何讓它工作。
這是我的代碼:
class _MessagesPageState extends State<MessagesPage> {
@override
void initState() {
WidgetsFlutterBinding.ensureInitialized();
Firebase.initializeApp();
super.initState();
}
_MessagesPageState();
final db = FirebaseFirestore.instance;
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: null,
body: StreamBuilder<QuerySnapshot<Map<String, dynamic>>>( // inside the <> you enter the type of your stream
stream: FirebaseFirestore.instance.collection('messages').snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData) {
return ListView.builder(
itemCount: snapshot.data!.docs.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(
snapshot.data!.docs[index].get('title'),
),
);
},
);
}
if (snapshot.hasError) {
return const Text('Error');
} else {
return const CircularProgressIndicator();
}
},
),
);
}
}
cloud_firestore: 2.5.2
firebase_core: ^1.23.0
您應該在此處初始化 Firebase:
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
完成上述操作后,我不知道這是否可行,但請嘗試以下操作:
class _MessagesPageState extends State<MessagesPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: null,
body: StreamBuilder<QuerySnapshot<Map<String, dynamic>>>( // inside the <> you enter the type of your stream
stream: FirebaseFirestore.instance.collection('messages').snapshots(),
builder: (context, snapshot) {
if (snapshot.hasData && snapshot.data != null) {
return ListView.builder(
itemCount: snapshot.data.docs.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(
snapshot.data.docs[index].get('title'),
),
);
},
);
}else if (snapshot.hasError) {
return const Text('Error');
} else {
return const CircularProgressIndicator();
}
},
),
);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.