给GetView传入参数,并设置controller的值

使用使用 Future.microtask 来延迟更新

class WidgetView 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(
          // ... 其余的构建代码 ...
        );
      },
    );
  }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容