the change of filter does not refresh the displaying data, how can i ask futurebuilder to build again based on new where() query?
here is my code:
FutureBuilder<QuerySnapshot>(
future:FirebaseFirestore.instance.collection("Posts").where('region', isEqualTo: filterSelected).orderBy('date', descending: true).get(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot)
{
return ListView.builder(
itemCount: snapshot.data.docs.length,
itemBuilder: (context, index){
DocumentSnapshot Post = snapshot.data.docs[index];
.........)
filterSelected is a variable callback from my filter screen:
onPressed: () =>
{
Navigator.push<dynamic>(
context,
MaterialPageRoute<dynamic>(
builder: (BuildContext context) => FiltersScreen((value){
return filterSelected = value;
}),
fullscreenDialog: true),
),
}
my expected result is once user clicked the filter, the ListViewer will auto update
i have read several post saying using async, setState, get().then() , not sure which one is better solution and how can i add into the code, help appreciated!