Я попытался получить некоторые данные из базы данных Firebase в реальном времени, используя FirebaseAnimatedList()
, используя поисковый запрос, который должен быть query : ref.child("users").child(userPath).orderByChild("id").equalTo(userID)
, но вместо этого запрос работает без второго потомка, как это query : ref.child("users").orderByChild("id").equalTo(userID)
И похоже, что когда данные передаются .equalTo(userID)
, если переданный идентификатор пользователя не найден в базе данных, он загружает пустой контейнер. Я ищу способ избежать загрузки пустого контейнера и вернуть пользовательское представление, если нет значения, соответствующего * 1007. *
пример базы данных в реальном времени:
{
"users" : {
"user1" : {
"lname" : "dee",
"id" : "12"
},
"user2" : {
"lname" : "nee",
"id" : "13"
},
"user3" : {
"lname" : "lee",
"id" : "14"
},
"user4" : {
"lname" : "bree",
"id" : "15"
}
}
Код:
FirebaseAnimatedList(
query: ref.child("users").orderByChild("id").equalTo(this.userid),
itemBuilder: (BuildContext context, DataSnapshot snapshot,
Animation<double> animation, int index) {
return SizeTransition(
sizeFactor: animation,
axis: Axis.horizontal,
axisAlignment: -0.8,
child: Column(
textDirection: TextDirection.ltr,
verticalDirection: VerticalDirection.down,
children: <Widget>[
SizedBox(
height: 100.0,
),
Text(
"User ID : " + snapshot.value["id"],
),
SizedBox(
height: 50.0,
),
],
),
);
}));