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()
),
相关推荐
●VON5 小时前
鸿蒙Flutter实战:分类管理页BottomSheet CRUD
数据库·flutter·华为·harmonyos·鸿蒙
woodWu9 小时前
Flutter 复杂拖拽排序实战:同源排序 + 跨容器拖拽完整落地
flutter
小小小小小鹿9 小时前
Vibe Coding 实战:Flutter 自定义路径布局
flutter·vibecoding
程序员老刘13 小时前
Dart 3.12 更新要点:乏善可陈
flutter·ai编程·dart
●VON13 小时前
鸿蒙Flutter实战:水平滑动分类标签筛选栏
flutter·华为·harmonyos
●VON15 小时前
鸿蒙Flutter实战:24小时新建标签提示组件
android·flutter·华为·harmonyos·鸿蒙
●VON16 小时前
鸿蒙Flutter实战:MultiProvider多状态管理架构实践
flutter·华为·架构·harmonyos·鸿蒙
●VON17 小时前
鸿蒙Flutter实战:放弃sqflite选纯Dart JSON文件存储
flutter·华为·json·harmonyos·鸿蒙
J船长18 小时前
把该死的Provider再讲一遍
flutter