我怎样才能得到 flutter 下拉菜单的 firebase 实时数据库值列表列表?
How can i get the list of firebase realtime database valueslist to flutter dropdown menu?
如何将 firebase 实时数据库中列出的值添加到 flutter 应用程序的下拉菜单中。我想将所有值作为字符串添加到列表中,该列表可用作 flutter 小部件中的下拉项。
在浏览了 flutter firebase 文档之后,我只能获取值,而不能作为单个实体获取。当我尝试将它们添加到列表中时,它会将它们全部添加到第一个列表项中。
getLocation() async {
DatabaseReference ref = FirebaseDatabase.instance.ref('Admin/Cities/');
DatabaseEvent event = await ref.once();
print(event.snapshot.value.toString());
print(event.snapshot.value.runtimeType);
print(event.snapshot.children.runtimeType);
List cityList = [];
cityList.add(event.snapshot.value);
print(cityList[0]);
print(cityList);
print(cityList.length);
print(cityList[0]);
print('list');
}
由于您是一次读取所有城市,因此您获得的快照包含多个子快照。您需要遍历快照的子项,并依次处理每个子项:
getLocation() async {
DatabaseReference ref = FirebaseDatabase.instance.ref('Admin/Cities/');
DatabaseEvent event = await ref.once();
var snapshot = event.snapshot;
List cityList = [];
snapshot.children.forEach((child) {
print(child.key);
cityList.add(child.value);
})
print(cityList);
print(cityList.length);
}
如何将 firebase 实时数据库中列出的值添加到 flutter 应用程序的下拉菜单中。我想将所有值作为字符串添加到列表中,该列表可用作 flutter 小部件中的下拉项。 在浏览了 flutter firebase 文档之后,我只能获取值,而不能作为单个实体获取。当我尝试将它们添加到列表中时,它会将它们全部添加到第一个列表项中。
getLocation() async {
DatabaseReference ref = FirebaseDatabase.instance.ref('Admin/Cities/');
DatabaseEvent event = await ref.once();
print(event.snapshot.value.toString());
print(event.snapshot.value.runtimeType);
print(event.snapshot.children.runtimeType);
List cityList = [];
cityList.add(event.snapshot.value);
print(cityList[0]);
print(cityList);
print(cityList.length);
print(cityList[0]);
print('list');
}
由于您是一次读取所有城市,因此您获得的快照包含多个子快照。您需要遍历快照的子项,并依次处理每个子项:
getLocation() async {
DatabaseReference ref = FirebaseDatabase.instance.ref('Admin/Cities/');
DatabaseEvent event = await ref.once();
var snapshot = event.snapshot;
List cityList = [];
snapshot.children.forEach((child) {
print(child.key);
cityList.add(child.value);
})
print(cityList);
print(cityList.length);
}