我想根据pressedBool是假还是真来更改小部件的主体。
这是我写的GetxController。
import 'package:get/state_manager.dart';
class PressedState extends GetxController{
var pressedBool = true;
changeStatus() {
if(pressedBool){
pressedBool = false;
}
else {
pressedBool = true;
}
update();
}
}下面是GetX update和listen用来更改页面正文的地方:
final PressedState pressController = Get.put(PressedState());
return MaterialButton(
onPressed: () {
pressController.changeStatus();
},
child:
pressController.pressedBool
? Container(...) : Container(...)), ...如何让GetX侦听pressedBool变量?
发布于 2020-09-22 03:07:40
return MaterialButton(
onPressed: () {
pressController.changeStatus();
},
child:
GetBuilder<PressedState>(
init: PressedState()
builder: (pressController) {
return pressController.pressedBool
? Container(...) : Container(...))
}
),发布于 2021-07-06 19:08:18
有时,只需监听更改并更改其他一些控制器或变量的值就很有用。例如,如果我们想要从另一个屏幕更改选项卡。
我们可以用Rx变量创建控制器
class TabStateController extends GetxController {
RxInt tabIndex = 0.obs;
}然后,在带有选项卡的屏幕上收听更改
_tabStateController.tabIndex.listen((value) {
_tabController.index = value;
});因此,我们可以监听可观察变量的变化。
发布于 2021-07-04 16:05:23
YourController.dart
import 'package:get/state_manager.dart';
class PressedState extends GetxController{
var pressedBool = true.obs;
changeStatus() {
if(pressedBool.isTrue){
pressedBool.toggle();
}
else {
pressedBool.value = true; //or pressedBool.toggle();
}
}
}YourView.dart
final Controller pressController = Get.put(PressedState());
return MaterialButton(
onPressed: () {
pressController.changeStatus();
},
child: Obx(() {
return pressController.pressedBool
? Container(...) : Container(...),
})https://stackoverflow.com/questions/63991803
复制相似问题