使用使用 Future.microtask 来延迟更新
classWidgetView extends GetView<WidgetController> {
const TimeOffSelectView({
super.key,
required this. totalMinutes,
});
// ... 其他属性 ...
@override
Widget build(BuildContext context) {
// 确保控制器已经初始化
Get.lazyPut(() => WidgetController());
// 使用 GetBuilder 替代 Obx
return GetBuilder< WidgetController >(
init: controller,
builder: (controller) {
// 在这里更新 minutes,但使用 Future.microtask 来延迟更新
if (controller.minutes != totalMinutes) {
Future.microtask(() => controller.updateMinutes(totalMinutes));
}
return MyContainer(
// ... 其余的构建代码 ...
);
},
);
}
}