私はこの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);
},
),
),
],
),
しかし、私は簡単なクエリを追加する必要があります:'Active' = true
出来ますか?どうやって?例/チュートリアルはありますか?
ありがとう。
私があなたの質問を正しく受け取っている場合、あなたは( "Active" = true)でいくつかのデータをクエリしようとしています、そして次の例を見てください。
私は私のデータベースからスクリーンショットを追加して、私のデータが構造化される方法についてより多くのコンテキストを持ち、うまくいけば、あなたの側で同様の何かを実装するための視点をあなたに与えるでしょう。
前の例では、「[email protected]」に設定された電子メールの連絡先のみを取得し、他の連絡先は無視するために、次のクエリを実行しています。
_ @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("[email protected]").endAt("[email protected]"),
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()),
);
}
),
),
],
),
);
}
_
お役に立てば幸いです。
追伸: Chenna Reddy が指摘したように、startAt("[email protected]").endAt("[email protected]")
をequalTo("[email protected]")
に置き換えることができます
startAt
とendAt
は、クエリを特定の範囲に制限する必要がある場合に役立ちます。
わかりました、あなたのガイド(@ChennaReddyと@aziza)に従って、これは私が私のコードを修正する方法です:
body: new Column(
children: <Widget>[
new Flexible(
child: new FirebaseAnimatedList(
query: FirebaseDatabase.instance
.reference()
.child('products')
.orderByChild('Active') // line changed
.equalTo(true), // line added
padding: new EdgeInsets.all(8.0),
reverse: false,
itemBuilder: (_, DataSnapshot snapshot,
Animation<double> animation, int x) {
return new ProductItem(
snapshot: snapshot, animation: animation);
},
),
),
],
),
ただし、一部の管理ユーザーが変更(更新)できる整数フィールド(または属性)である「order」による結果のクエリ順序が必要です。したがって、最終ユーザーは「order」順に並べられたデータを見ることができます(ただし、解決を支援するため、「Active」= trueのみ)。