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()
),
相关推荐
spmcor13 小时前
Flutter 学习笔记 (3):布局初探 —— Row、Column、Stack 与 Container
flutter
风华圆舞14 小时前
DevEco Studio 和 Flutter 工具链如何协同工作
flutter·华为·架构·harmonyos
朱莉^_^JuneLee14 小时前
Flutter 性能优化实战:用 ConsumerWidget + select 做到真正的局部刷新
flutter
G_dou_17 小时前
Flutter三方库适配OpenHarmony【palindrome_checker】回文检测器项目完整实战
flutter·harmonyos
朱莉^_^JuneLee18 小时前
Flutter 模块化架构实战:用 Barrel Export 管控模块边界
flutter·架构
风华圆舞19 小时前
鸿蒙导航意图 的 Flutter 侧封装思路
flutter·华为·harmonyos
风华圆舞19 小时前
Flutter 调用原生失败时,如何优雅处理 `MissingPluginException`
flutter·华为·harmonyos
风华圆舞20 小时前
鸿蒙防窥保护 的 Flutter 侧封装思路
flutter·华为·harmonyos
风华圆舞20 小时前
SpeechRecognitionChannel 的 Flutter 侧封装思路
flutter·华为·harmonyos