Flutter:GetBuilder页面模板,可复用,视图,控制器分离

GetBuilder页面模板,之后都会在此基础上写页面。

view

js 复制代码
import 'package:flutter/material.dart';
import 'package:get/get.dart';

import 'index.dart';

class GoodsListPage extends GetView<GoodsListController> {
  const GoodsListPage({super.key});

  // 主视图
  Widget _buildView() {
    return const Center(
      child: Text("GoodsListPage"),
    );
  }

  @override
  Widget build(BuildContext context) {
    return GetBuilder<GoodsListController>(
      init: GoodsListController(),
      id: "goods_list",
      builder: (_) {
        return Scaffold(
          appBar: AppBar(title: const Text("goods_list")),
          body: SafeArea(
            child: _buildView(),
          ),
        );
      },
    );
  }
}

controller

js 复制代码
import 'package:get/get.dart';

class GoodsListController extends GetxController {
  GoodsListController();

  _initData() {
    update(["goods_list"]);
  }

  void onTap() {}

  @override
  void onInit() {
    super.onInit();
  }

  @override
  void onReady() {
    super.onReady();
    _initData();
  }

  @override
  void onClose() {
    super.onClose();
  }
}

index 导包

js 复制代码
library goods_list;

export './controller.dart';
export './view.dart';

路由配置

js 复制代码
import '../pages/mall/goods_list/index.dart';
GetPage(
    name: "/GoodsListPage", page: () => GoodsListPage()
),
相关推荐
m0_7381858223 分钟前
Flutter 鸿蒙化实战:flutter_quill 适配 OpenHarmony,富文本编辑器
flutter·华为·harmonyos·鸿蒙
m0_7381858224 分钟前
Flutter 鸿蒙化实战:flutter_quick_video_encoder 适配 OpenHarmony,逐帧编码视频
flutter·华为·音视频·harmonyos·鸿蒙
blanks202017 小时前
如何查看 drift 在 本机的 sqlite 文件路径
flutter
m0_738185821 天前
Flutter 鸿蒙化实战:flutter_iot_wifi 适配 OpenHarmony,IoT 设备 WiFi 配网
物联网·flutter·华为·harmonyos·鸿蒙
律宏阔2 天前
Flutter Riverpod 3:统一打印 Provider 错误与自动重试日志
前端·flutter
m0_738185822 天前
Flutter 鸿蒙化实战:flutter_exif_plugin 适配 OpenHarmony,图片 EXIF 读写
flutter·华为·harmonyos·鸿蒙
恋猫de小郭2 天前
Shopify 回应为什么从 RN 回到原生,为什么不用 KMP ?
android·前端·flutter
事圆则缓2 天前
Flutter 状态管理框架对比(五):GetX 的响应式、依赖注册与生命周期
前端·javascript·flutter
事圆则缓2 天前
Flutter 状态管理框架对比(六):同一个购物车,四种方案怎么落地?
前端·javascript·flutter