如何显示地图中的数据列表? - 颤动的Firestore
How to display a list of data from a map ? - flutter firestore
我正在构建一个事件管理应用程序。当用户买票时,票的详细信息就这样保存在数据库中。
Users -> (Current User ID) -> (map)bookedEvents -> eventId -> [event details]
当我像这样将其中一个事件 ID 作为静态字符串提供时,我设法显示了一个特定事件的数据。
StreamBuilder(
stream: FirebaseFirestore.instance
.collection('users')
.doc(_uid)
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Text("Loading");
}
var userDocument = snapshot.data;
return Text(
userDocument["bookedEvents"]["KFXvCj63y7GTjQcMKfVy"]
["eventName"],
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20),
);
}),
但我想在列表中显示所有事件名称。我能知道怎么做吗?非常感谢。
你应该尝试这样的事情:
var userDocument = snapshot.data;
final List<Widget> children = [];
userDocument['bookedEvents'].forEach((key, value) {
children.add(Text(value['eventName'])); });
return Column(children: children); // or Row(children: children); or ListView(children: children);
我正在构建一个事件管理应用程序。当用户买票时,票的详细信息就这样保存在数据库中。
Users -> (Current User ID) -> (map)bookedEvents -> eventId -> [event details]
当我像这样将其中一个事件 ID 作为静态字符串提供时,我设法显示了一个特定事件的数据。
StreamBuilder(
stream: FirebaseFirestore.instance
.collection('users')
.doc(_uid)
.snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return Text("Loading");
}
var userDocument = snapshot.data;
return Text(
userDocument["bookedEvents"]["KFXvCj63y7GTjQcMKfVy"]
["eventName"],
style: TextStyle(fontWeight: FontWeight.bold, fontSize: 20),
);
}),
但我想在列表中显示所有事件名称。我能知道怎么做吗?非常感谢。
你应该尝试这样的事情:
var userDocument = snapshot.data;
final List<Widget> children = [];
userDocument['bookedEvents'].forEach((key, value) {
children.add(Text(value['eventName'])); });
return Column(children: children); // or Row(children: children); or ListView(children: children);