Как заполнить флаттер DropDownButton из firebase

Я пытаюсь получить некоторые данные из firebase в следующем порядке:

+73bbm2guOygsfqddvqwTTOLRC3w1

   +-LY2t4PuMhDBPO0jAZ3f
        brand: 
        id: 
        model: 
        year:

Я хочу, чтобы кнопка раскрывающегося списка содержала идентификаторы всех автомобилей этого пользователя.

Мне удалось получить данные как Map с этим кодом:

static getUserCars() async {
  final response = await FirebaseDatabase.instance
    .reference()
    .child("cars")
    .child(uid)
    .once();
  print(response.value);
  Map map = json.decode(response.value);

  return map;
}

Как я могу показать эти значения из базы данных в DropDownButton?

Это должно быть очень похоже на то, что сделано здесь для Firestore: stackoverflow.com/questions/52823542/…, или здесь только с необработанным JSON: stackoverflow.com/questions/46625438/….

Frank van Puffelen 09.02.2019 16:50

получение данных из firebase немного отличается от firestorm, а также я не могу перейти на firestorm сейчас, потому что я уже создаю много-много функций, используя firebase

Osama 09.02.2019 18:00

Мне удалось получить данные, но я продолжаю получать 2 ошибки: одна из них Future<dynamic> не является подтипом строки, а другая ошибка возникает, когда я пытаюсь ее обойти, она говорит, что int не является экземпляром строки

Osama 09.02.2019 18:00

Похоже, вы делаете успехи, поэтому я бы обновил ваш вопрос последним MCVE того, где вы сейчас застряли.

Frank van Puffelen 09.02.2019 19:24
Интеграция Angular - Firebase Analytics
Интеграция Angular - Firebase Analytics
Узнайте, как настроить Firebase Analytics и отслеживать поведение пользователей в вашем приложении Angular.
0
4
1 547
1

Ответы 1

Вот отвечать, который я отправил на вопрос, похожий на ваш. Здесь вы можете выяснить, как получить данные из Firestore и сопоставить их со списком. Есть много способов получить данные из Firestore, в примере, который я предоставил, используется StreamBuilder.

Как только вы это сделаете, данные можно будет легко отобразить в виджете, например, в DropdownButton.

Другие вопросы по теме