[英]Using getx obx and GetX state management inside getx dialog flutter
我在我的应用程序中使用 Get 对话框,我想在我的对话框小部件中使用 GetX 状态管理,例如我的对话框中有复选框,我想用 GetX 更新它的状态但是当我在我的内部使用GetX<AppController>()
时获取对话框我遇到了以下错误
您应该只对将要更新的特定小部件使用 GetX 或 Obx。 如果您看到此错误,您可能没有将任何可观察变量插入 GetX/Obx 或将它们插入到 GetX 认为适合更新的范围之外(例如:GetX => HeavyWidget => variableObservable)。 如果您需要更新父小部件和子小部件,请将每个小部件包装在 Obx/GetX 中。 这是示例代码:
Get.dialog(
Dialog(
child: Flexible(
child: GetX<AppController>(
init: appController,
builder: (val){
return CheckboxListTile(
title: Text("Power off computer"),
contentPadding: EdgeInsets.zero,
value: appController.powerOffRaspberry,
onChanged: (newValue) {
appController.powerOffRaspberry = !appController.powerOffRaspberry;
},
controlAffinity: ListTileControlAffinity.leading, // <-- leading Checkbox
);
},
)
),
),
)
使appController.powerOffRaspberry
可观察:
final powerOffRaspberry = false.obs;
将CheckboxListTile
更新为:
CheckboxListTile(
title: Text("Power off computer"),
contentPadding: EdgeInsets.zero,
value: appController.powerOffRaspberry.value,
onChanged: (newValue) {
appController.powerOffRaspberry.value = !appController.powerOffRaspberry.value;
},
controlAffinity: ListTileControlAffinity.leading, // <-- leading Checkbox
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.