【发布时间】:2020-09-26 00:24:36
【问题描述】:
dart 和 firestore 非常新,正在尝试制作动态 Drawer 小部件。进行两次 firebaseDB 调用,一次用于获取 say 事件列表,另一次用于从 Venue master 集合中获取事件的地点图像。
现在的问题是,属性第一次保持为空,再次触发时(关闭和打开抽屉)返回值,尝试在 then() 内返回(如下所示),但没有返回任何内容,因为小部件需要返回一个小部件,
return ListView.builder(
reverse: false,
padding: const EdgeInsets.all(15),
itemCount: Properties.length,
itemBuilder: (ctx, i) {
Firestore.instance.collection('Properties').document(Properties[i]['PropertyId']).get().then((docSnap) {
property = docSnap;
print(property['PropertyImage']);
if (property==null || !property.exists)
return Center(
child: CircularProgressIndicator(),
);
else
return InkWell(
onTap: () {},
child: Ink.image(
image: NetworkImage(property['PropertyImage']),
fit: BoxFit.cover,
width: 50,
height: 50,
),
);
});
},
);
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore async-await