使用Getx可以把逻辑,UI,数据分开。
还可以实时动态更新。
实现:
1 Getbuilder使用,
logic类
class MyLogic extend GetController{
}
page界面:
class MyPage extends statelessWidget {
声明logic: final logic = Getx.put(MyLogic());
@overider
buildcontext(){
return GetBuilder() {
return contentView();
},init:logic;
}
Widget contentView() {
return Scaffold();
}
}
可以全局使用。
更新等;
2 Obx包裹
Obx(()=>Container(child:Text(str.value)))
RxString str = ''.obs;
更新str时: str.value = '更新了';
界面上自动会更新str;
其他如:
Rx<Model类型> model = Model().obs;
Rxbool,
RxList<Model> list = [].obs;
3ObxValue包裹
ObxValue((_)=>ListView(),list)
list更新: list.value = ['1','2','3']等
或者list.add(xx)等
listview自动更新:
本文介绍了如何使用Getx库在Flutter中进行逻辑、UI和数据的分离,以及实现实时动态更新。通过GetBuilder和Obx进行组件绑定,展示了如何创建和更新Rx类型的变量以自动刷新界面。同时,提到了ObxValue用于列表数据更新的场景。
1648

被折叠的 条评论
为什么被折叠?



