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()
),
相关推荐
程序员老刘7 小时前
Flutter版本选择指南:3.44系列继续观望 | 2026年6月
flutter·ai编程·客户端
用户965597361902 天前
Provider vs Bloc vs GetX vs Riverpod:Flutter 状态管理方案怎么选?
flutter
恋猫de小郭2 天前
Flutter Patchwork,不用 Fork 改依赖包源码的第三方工具
android·前端·flutter
程序员老刘2 天前
跑分第一的编程大模型,我为啥不用?
flutter·ai编程·vibecoding
恋猫de小郭3 天前
苹果 AirPods 协议,Android 也可以使用完整版 AirPods 能力
android·前端·flutter
张风捷特烈3 天前
Flutter 类库大揭秘#01 | path_provider架构与设计
android·flutter
恋猫de小郭5 天前
Android 限制侧载新进展,谷歌联合国内厂商推验证计划
android·前端·flutter
恋猫de小郭5 天前
解读 Android 17 全新内存限制,有没有“豁免”后门?
android·前端·flutter
程序员老刘8 天前
跨平台开发地图 | 2026年6月
flutter·ai编程·客户端
悟空瞎说9 天前
Flutter 架构详解:新手必懂底层原理
flutter