当我点击 FloatingactionButton 时,我试图更新我的 ListView 但没有任何反应,我正在使用 Get 库,我有我的控制器,但我不知道为什么它没有更新我是新手,有人可以吗帮我?
class HistorialPage extends GetView<HistorialController> {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingactionButton: FloatingactionButton(
backgroundColor: SelectColor.parseColor("16acac"),child: new Icon(Icons.sync),onpressed: (){
controller.getList();
},),body: Container(
color: SelectColor.parseColor("#16acac"),child: Center(
child:Column(
children: <Widget>[
Expanded(
child: Center(
child: Container(
decoration: BoxDecoration(
color: SelectColor.parseColor("#fff"),borderRadius: BorderRadius.only(
topLeft: Radius.circular(30.0),topRight: Radius.circular(30.0),)
),child:
Center(
child: GetBuilder<HistorialController>(
builder: (controller){
return LoadingOverlay(
isLoading: controller.isLoading,child: ListView.builder(
itemCount: controller.postsList.length,itemBuilder: (context,index) =>
HistorialItems(post: controller.postsList[index],);
},],);
}
}
HistorialController 这是我在上面调用的控制器的代码,我有更新它的方法
class HistorialController extends GetxController{
List<Post> postsList=[];
bool isLoading = true;
@override
void onInit() {
getList();
super.onInit();
}
void getList(){
PostsProvider().getPostsList(
beforeSend: (){
print('success');
},onSuccess: (posts){
postsList.addAll(posts.reversed.toList());
isLoading =false;
update();
},onErrror: (error){
isLoading =false;
update();
print(error);
});
update();
}
}