【发布时间】:2021-09-14 23:54:12
【问题描述】:
我想在任何类型的架构中单击带有分页的按钮来更新列表的 orderby 尝试了 setstate 字符串,但没有按新顺序重新加载列表。
String? query = 'id';
class Model extends StatefulWidget {
@override
_ModelState createState() => _ModelState();
}
class _ModelState extends State<Model> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView(
children: <Widget>[
TextButton(
onPressed: () {
setState(() {
query = 'price';
});
},
child: Text('data'),
),
PaginateFirestore(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemBuilderType: PaginateBuilderType.listView,
itemBuilder: (index, context, documentSnapshot) {
final data = documentSnapshot.data() as Map?;
return MainComponent(title: data == null ? 'Error' : data['id']);
},
// orderBy is compulsory to enable pagination
query:
FirebaseFirestore.instance.collection('phones').orderBy(query.toString()),
// to fetch real-time data
isLive: false,
),
],
),
);
}
}
【问题讨论】:
-
你能把代码贴在你做
setState的地方吗? -
请结帐
-
字符串?查询 = 'id';使这个类的局部变量,而不是全局变量。在此类“_ModelState”中初始化变量
-
好的,但是列表没有更新
标签: list flutter google-cloud-firestore