包装Fluro之fluro_support

fluro_support

Quick to use Fluro

Getting Started

You should ensure that you add the router as a dependency in your flutter project.

dependencies:
fluro_support:
git: https://github.com/OSpoon/fluro_support.git

Setting up

初始化 FSRoutes

import 'package:fluro_support/fluro_support.dart';
import 'package:fluro/fluro.dart';
//定义路由集合
List<FSBaseRouter> routes = [ModelRoutes()];
//构造函数中初始化
MyApp() {
FSRoutes.init(Router(), routes);
}
return MaterialApp(
//生成路由
onGenerateRoute: FSRoutes.generator(),
);

构建 ModelRoutes

import 'package:fluro/fluro.dart';
import 'package:fluro_support/fluro_support.dart';
import 'package:flutter/material.dart';
class ModelRoutes extends FSBaseRouter {
static String otherPage = "/other";
@override
void initRouter(Router router) {
router.define(otherPage, handler: Handler(handlerFunc:
(BuildContext context, Map<String, List<String>> parameters) {
print('${parameters['name']}');
print('${parameters['email']}');
print('${parameters['counter']}');
return OtherPage(
name: parameters['name'][0],
email: parameters['email'][0],
counter: parameters['counter'][0],
);
}));
}
}

Navigating

打开新的页面

FSNavigate.push(context, LoginModelRouter.loginPage);

打开新的页面(携带参数,接收返回)

FSNavigate.pushResult(context,
'${ModelRoutes.otherPage}?name=${Uri.encodeComponent(name)}&email=${Uri.encodeComponent(email)}&counter=${Uri.encodeComponent(_counter.toString())}',
(result) {
setState(() {
print('_MyHomePageState._incrementCounter :::${result}');
});
});

直接返回

FSNavigate.goBack(context);

带参数返回

FSNavigate.goBackWithParams(context, "sanjin");

代码参考简书-練碩

posted @   前端小鑫同学  阅读(2)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示