hb_router 0.0.1 copy "hb_router: ^0.0.1" to clipboard
hb_router: ^0.0.1 copied to clipboard

路由管理工具,支持页面间传参,页面间跳转动画,获取当前路由栈等。

hb_router #

路由管理工具,支持页面间传参,页面间跳转动画。

使用方法 #

  1. 安装
dependencies:
  hb_router:
    git:
      url: https://xlnhy.hamber.io/wallet/front/flutter_kit.git
      # 某次提交的commit,也可以是分支,tag
      ref: 8b60b11d7fe928431cbd0758f2cda60e5d1ed59e
      path: packages/hb_router
  1. 初始化
  • 目前只支持一个全局中间件
import 'package:hb_router/hb_router.dart';

// ...
MaterialApp(
  // RouteConfig.routes是您的路由配置,可以设置一个全局中间件middleware
  onGenerateRoute: HbRouter(
                    RouteConfig.routes,
                    middleware: RouterMiddleware(),
                  ).generateRoute,
  navigatorKey: HbRouter.key,
);
//...

路由配置

// RouteConfig.routes示例
// arguments是跳转时候的传参
class RouteConfig {
  static final Map<String, HbWidgetBuilder> routes = <String, HbWidgetBuilder>{
    '/': (Object? arguments) => const IndexPage(),
    '/order_detail': (Object? arguments) =>
        OrderDetailPage(order: arguments as OrderModel),
  };
}

页面间跳转与传参

// 页面返回
HbNav.back(arguments: false);
// 弹窗关闭
HbNav.pop(arguments: false);
// 跳转
HbNav.push(Routes.orderDetail);
// 传参
HbNav.push(Routes.orderDetail, arguments: item);

其他信息

// 页面路由栈
print(HbRouter.history)
// 当前页面
print(HbRouter.currentRoute)
// 全局context
print(HbRouter.key.currentState!.context)

0
likes
140
points
32
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

路由管理工具,支持页面间传参,页面间跳转动画,获取当前路由栈等。

License

MIT (license)

Dependencies

flutter

More

Packages that depend on hb_router