Flutter 日记App-get全局路由

路由配置

less 复制代码
@override
Widget build(BuildContext context) {
  return GetMaterialApp(
  //路由页 管理
    getPages: SSLRoutes.pages,
    //初始路由
    initialRoute: SSLRoutes.root_routes,
    //主页
    home: const SSLRootRoute(),
  );
}

路由管理类

php 复制代码
abstract class SSLRoutes{
//将类名进行常量化,防止直接使用字符串
  static const root_routes = "/";
  static const root_main = "/RootMain";
  static const root_charts = "/RootCharts";
  static const root_setting = "/RootSetting";
  static const home_add_record = "/homeAddRecord";
  static const home_RecordList = "/recordList";
  //路由表,可以看到每一个路由对应的一个GetPage,GetPage中有很多的属性,大家可以进去看下,在这里还可以设置一些默认的参数。
  static List<GetPage> pages = [
    GetPage(name: root_routes, page: ()=> const SSLRootRoute()),
    GetPage(name: root_main, page: ()=> const SSLHome()),
    GetPage(name: home_add_record, page: ()=> const SSLAddRecord()),
    GetPage(name: home_add_dream, page: ()=> const SSLAddDream()),
    GetPage(name: home_RecordList, page: ()=> const SSLRecordList()),
  ];
}

用法

scss 复制代码
//跳转到添加页,带上参数信息,参数可接收任意类型数据,同时用dreamInfo接收一个返回数据
dreamInfo = await Get.toNamed(SSLRoutes.home_add_dream,arguments: dreamInfo);
获取到返回数据后刷新界面
setState(() {

});
//返回上个界面,并带上参数dream
Get.back(result: dream);

小知识点

在传参时,可能有些参数不确定,或者不同页面进入带的参数不同,则可以添加类型判断

csharp 复制代码
//获取传入的参数
var record = Get.arguments;
//判断参数类型
if (record != null){
  if (record is String){
    dreamId = record;
  }else if (record is RecordModel){
  ......
}

总结

Get的路由管理也比较容易使用,需要注意的是多页面跳转的时候,注意参数类型的判断和参数格式的处理,由于框架限制,通常是只能传一个参数,可以使用数组等多种方式进行灵活使用。针对特殊的界面可以单独定义一个函数,将参数直接带入。

相关推荐
HarderCoder13 小时前
iOS 知识积累第一弹:从 struct 到 APP 生命周期的全景复盘
ios
孤鸿玉17 小时前
Fluter InteractiveViewer 与ScrollView滑动冲突问题解决
flutter
叽哥1 天前
Flutter Riverpod上手指南
android·flutter·ios
BG2 天前
Flutter 简仿Excel表格组件介绍
flutter
zhangmeng2 天前
FlutterBoost在iOS26真机运行崩溃问题
flutter·app·swift
恋猫de小郭2 天前
对于普通程序员来说 AI 是什么?AI 究竟用的是什么?
前端·flutter·ai编程
卡尔特斯2 天前
Flutter A GlobalKey was used multipletimes inside one widget'schild list.The ...
flutter
w_y_fan2 天前
Flutter 滚动组件总结
前端·flutter
醉过才知酒浓2 天前
Flutter Getx 的页面传参
flutter
用户092 天前
SwiftUI Charts 函数绘图完全指南
ios·swiftui·swift