[英]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();
}
}
如果您使用的是反应式 State 管理器,则无需调用update()
function。
要将计数器重置为 0,只需将 0 分配给.value
属性。
因此,像这样更改您的Controller
,它应该可以工作:
class Controller extends GetxController {
var counter = RxInt(0);
void increment() {
counter++;
}
re() {
counter.value = 0;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.