abn*_*h69 6 dart firebase firebase-realtime-database flutter
我有一个Scaffold身体:
body: new Column(
children: <Widget>[
new Flexible(
child: new FirebaseAnimatedList(
query: FirebaseDatabase.instance
.reference()
.child('products')
.orderByChild('order'),
padding: new EdgeInsets.all(8.0),
reverse: false,
itemBuilder: (_, DataSnapshot snapshot,
Animation<double> animation, int x) {
return new ProductItem(
snapshot: snapshot, animation: animation);
},
),
),
],
),
Run Code Online (Sandbox Code Playgroud)
但我需要添加一个简单的查询: 'Active' = true
可能吗?怎么样?任何示例/教程?
谢谢.
azi*_*iza 10
如果我正确地得到您的问题,您正在尝试查询某些数据("Active"= true),然后参见以下示例.
我已经添加了一个来自我的数据库的屏幕截图,以便在我的数据结构方式上有更多的上下文,并希望它能让您直观地实现类似的结果.
在前面的示例中,我正在执行以下查询以仅获取设置为"em1@gmail.com"的电子邮件的联系人,而忽略其他人.
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(title: new Text("Firebase Example"),),
body: new Column(
children: <Widget>[
new Flexible(
child: new FirebaseAnimatedList(
query: FirebaseDatabase.instance
.reference().child("contacts")
.orderByChild("email")
.startAt("em1@gmail.com").endAt("em1@gmail.com"),
padding: new EdgeInsets.all(8.0),
reverse: false,
itemBuilder: (_, DataSnapshot snapshot,
Animation<double> animation, int x) {
return new ListTile(
subtitle: new Text(snapshot.value.toString()),
);
}
),
),
],
),
);
}
Run Code Online (Sandbox Code Playgroud)
希望它有所帮助.
PS:由于Chenna雷迪指出的那样,你可以替换startAt("em1@gmail.com").endAt("em1@gmail.com")通过equalTo("em1@gmail.com")
startAt并且endAt在需要将查询限制在特定范围时非常有用.
| 归档时间: |
|
| 查看次数: |
5255 次 |
| 最近记录: |