【发布时间】:2020-10-22 17:58:58
【问题描述】:
我正在创建一个以 firebase 作为后端的颤振应用程序。我有一个数据流,它从 Firestore 集合中提取数据,并在将其转换为列表后将其呈现在 Cupertino Picker 中。问题是当我启动应用程序并使用选择器导航到页面时,列表是空的,除非我热刷新。当我使用选择器弹出上下文并登陆页面时,数据也会显示,否则它是空的。
我的信息流是这样的:
Stream<List<DataModel>> get myData {
return myDataCollection.snapshots().map(_myDataListFromSnapshot);
}
并将其映射到我的模型,并将其转换为如下列表:
List<DataModel> _myDataListFromSnapshot(QuerySnapshot snapshot) {
return snapshot.documents.map((doc) {
return DataModel(
name: doc.data['name'] ?? '',
country: doc.data['country'] ?? '');
}).toList();
}
这是我的选择器:
return CupertinoPicker(
useMagnifier: true,
magnification: 1.1,
squeeze: 2,
backgroundColor: CupertinoColors.white,
itemExtent: 50,
onSelectedItemChanged: (int index) {},
children: myData.map((myData) {
return Text(
myData.name + ' ' + myData.country,
);
}).toList(),
);
有什么我做错了。我会很感激我能得到的任何帮助。谢谢
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore