Запрос вложенного дочернего ключа в firebaseanimatedlist

Моя структура Firebase выглядит так:

enter image description here

Я хочу получить список groupName в FirebaseAnimatedList.

Как этого добиться?

Мой текущий код:

chatGroupNameReference = FirebaseDatabase.instance.reference().child("chat_group_message_user_info").child(widget.user.uid);


body: new Container(
    child: new Flexible(
      child: new FirebaseAnimatedList(
        query: chatGroupNameReference,
        padding: const EdgeInsets.all(8.0),
        defaultChild: Center(child: CircularProgressIndicator(backgroundColor: Colors.deepPurpleAccent,),),
        itemBuilder: (_, DataSnapshot messageSnapshot,
            Animation<double> animation, int index) {

          return Text("Group Name will be here")
        },
      ),
    )
  )
);
2
0
552
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

(_, DataSnapshot messageSnapshot,
        Animation<double> animation, int index)

После этой строки вы можете использовать FutureBuilder для получения данных из базы данных Firebase.

Например вот так Есть ли способ сообщить списку firebase ожидаемую высоту виджета до его загрузки в анимированном списке firebase?

Ответ принят как подходящий

Для запроса вложенного дочернего ключа нам понадобится FutureBuilder с FirebaseAnimatedList:

chatGroupNameReference = FirebaseDatabase.instance.reference().child("chat_group_message_user_info").child(widget.user.uid);

body: new FirebaseAnimatedList(
    defaultChild: Center(child: new CircularProgressIndicator()),
    query: chatGroupNameReference,
    sort: (a,b) => (b.key.compareTo(a.key)),
    itemBuilder: (_, DataSnapshot messageSnapshot, Animation<double> animation, int index) {

      return new FutureBuilder<DataSnapshot>(
        future: chatGroupNameReference.child(messageSnapshot.key).once(),
        builder: (BuildContext context, snapshot){

          return snapshot.hasData ? new Text(snapshot.data.value['groupName']) : new Text("");
        },
      );
    },

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