Flutter:如何使用 Getx 更改变量?
Flutter : How can I change variable with Getx?
我想将计数器的值更改为 0。
但每次我尝试时,它都不起作用,我不能再使用 increment() 了。
我相信解决方案很简单,但我想不通。
class Home extends StatelessWidget {
final controller = Get.put(Controller());
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
leading: IconButton(
icon: Icon(Icons.offline_bolt),
onPressed: () {
controller.increment();
},
)),
body: Center(
child: Obx(() => Text('${controller.counter}')),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
controller.re();
},
child: Icon(Icons.access_alarms),
),
);
}
}
class Controller extends GetxController {
var counter = RxInt(0);
void increment() {
counter++;
update();
}
re() {
counter = RxInt(0);
update();
}
}
如果您正在使用 Reactive State Manager,则无需调用 update()
函数。
要将计数器重置回 0,只需将 0 分配给 .value
属性。
所以像这样改变你的 Controller
它应该可以工作:
class Controller extends GetxController {
var counter = RxInt(0);
void increment() {
counter++;
}
re() {
counter.value = 0;
}
}
我想将计数器的值更改为 0。 但每次我尝试时,它都不起作用,我不能再使用 increment() 了。 我相信解决方案很简单,但我想不通。
class Home extends StatelessWidget {
final controller = Get.put(Controller());
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
leading: IconButton(
icon: Icon(Icons.offline_bolt),
onPressed: () {
controller.increment();
},
)),
body: Center(
child: Obx(() => Text('${controller.counter}')),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
controller.re();
},
child: Icon(Icons.access_alarms),
),
);
}
}
class Controller extends GetxController {
var counter = RxInt(0);
void increment() {
counter++;
update();
}
re() {
counter = RxInt(0);
update();
}
}
如果您正在使用 Reactive State Manager,则无需调用 update()
函数。
要将计数器重置回 0,只需将 0 分配给 .value
属性。
所以像这样改变你的 Controller
它应该可以工作:
class Controller extends GetxController {
var counter = RxInt(0);
void increment() {
counter++;
}
re() {
counter.value = 0;
}
}