Firebase 我的cupertino Picker不会显示孩子,除非我热刷新
我在弗利特上有一个库比蒂诺采摘器,它从火炉店取孩子Firebase 我的cupertino Picker不会显示孩子,除非我热刷新,firebase,flutter,flutter-cupertino,cupertinopicker,Firebase,Flutter,Flutter Cupertino,Cupertinopicker,我在弗利特上有一个库比蒂诺采摘器,它从火炉店取孩子 return CupertinoPicker( itemExtent: 50, onSelectedItemChanged: (int index) { setState(() { _selectedUserId = user[index].userId; _selectedUserName = user[index].name; IosUserDropdownList.selecte
return CupertinoPicker(
itemExtent: 50,
onSelectedItemChanged: (int index) {
setState(() {
_selectedUserId = user[index].userId;
_selectedUserName = user[index].name;
IosUserDropdownList.selectedUserId = user[index].userId;
IosUserDropdownList.selectedUserName = user[index].name;
});
print(_selectedUserId);
print(_selectedUserName);
},
children: user.map((user) {
return CupertinoButton(
onPressed: () {},
child: Text(
user.name,
style: TextStyle(color: CupertinoColors.activeBlue),
),
);
}).toList(),
);
以下是我从Firestore获取用户的方式:
Stream<List<UserData>> get users {
return userCollection.snapshots().map(_userListFromSnapshot);
}
Stream获取用户{
返回userCollection.snapshots().map(_userListFromSnapshot);
}
并使用my UserData模型将其转换为列表:
List<UserData> _userListFromSnapshot(QuerySnapshot snapshot) {
return snapshot.documents.map((doc) {
return UserData(
name: doc.data['name'] ?? '',
userId: doc.documentID ?? '');
}).toList();
}
List\u userListFromSnapshot(QuerySnapshot快照){
返回snapshot.documents.map((doc){
返回用户数据(
名称:文件数据['name']??“,
userId:doc.documentID???”;
}).toList();
}
问题是,当我使用选择器导航到页面时,我看不到选择器上的任何数据。但是,当我进行热刷新时,数据会显示出来
当我在下一页时,选择器还会显示数据,并使用选择器将Navigator.pop(上下文)返回到屏幕。我已经做了几个星期了,但没有成功。请帮忙
谢谢。直接在小部件树上生成用户列表有点奇怪。为什么你不在其他地方生成它并保持你的小部件无状态?我对这一点不熟悉。我该怎么做?你怎么把孩子们从firestore弄来的?我怀疑你没有使用wait在这种情况下我让孩子们使用Streams。类似这样的内容:Stream get users{return userCollection.snapshots().map(_userListFromSnapshot);}