【发布时间】:2021-12-07 10:05:08
【问题描述】:
我想从 Firestore 中检索数据并在我的 Flutter 应用程序中显示它们,但该文档有一个名为“用户”的地图,我的问题是如何访问此地图字段?
StreamBuilder(
stream: FirebaseFirestore.instance
.collection('Channels')
.where('participants', arrayContains: UserInfoData.userID)
.snapshots(),
builder: (context, AsyncSnapshot<QuerySnapshot> streamSnapshot) {
switch (streamSnapshot.connectionState) {
case ConnectionState.waiting:
return Center(
child: CircularProgressIndicator(),
);
default:
if (streamSnapshot.hasError) {
print(streamSnapshot.hasError.toString());
} else {
final channels = streamSnapshot.data!.docs;
if (channels.isEmpty) {
return Text('ff');
} else
return ListView.builder(
itemCount: channels.length,
itemBuilder: (context, i) => ListTile(
leading: CircleAvatar(
backgroundImage:
NetworkImage(channels[i]['announceImage']),
),
title: Text(channels[i]['reciverID']),
),
);
}
}
return Text('ok');
},
),
);
【问题讨论】:
-
访问其他属性的方式相同:
channels[i]['announceImage'],所以您可以调用channels[i]['users'],对吗?但是你得到的是一个地图而不是一个字符串。 -
是的,我有一张地图如何获取这样的数据?