我怎样才能得到 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);
}