0
点赞
收藏
分享

微信扫一扫

Flutter的fluro带参数跳转页面如何实现

问题

如何使用fluro在跳转页面的时候添加参数呢?

例子

比如我在跳转页面时要传入三个整数作为参数。三个参数的类型都是整数,你可以将参数从URL中解析为整数类型。以下是如何在Fluro中修改你的路由定义和处理函数来处理整数参数的示例:

首先,更新你的doSportsHandler来接受整数参数:

final Handler doSportsHandler = Handler(
  handlerFunc: (BuildContext? context, Map<String, dynamic> params) {
    // 获取并解析整数参数
    int param1 = int.tryParse(params['param1']?.first) ?? 0;
    int param2 = int.tryParse(params['param2']?.first) ?? 0;
    int param3 = int.tryParse(params['param3']?.first) ?? 0;

    // 创建DoSports页面,并传递整数参数
    return DoSports(param1, param2, param3);
  },
);

然后,在defineRoutes中,更新router.define以指定整数参数:

void defineRoutes() {
  router.define('/ConfigsPage', handler: sportsHandler);
  
  // 使用:符号来指定整数参数,例如: /DoSportsPage/:param1/:param2/:param3
  router.define('/DoSportsPage/:param1/:param2/:param3', handler: doSportsHandler);
}

现在,你可以在导航到DoSportsPage时传递整数参数:


int param1 = 123; // 替换为实际的整数值
int param2 = 456; // 替换为实际的整数值
int param3 = 789; // 替换为实际的整数值

// 导航到DoSportsPage并传递整数参数
router.navigateTo(
  context,
  '/DoSportsPage/$param1/$param2/$param3',
  transition: TransitionType.native,
);

这样,参数将被解析为整数类型,并传递给doSportsHandler,然后用于创建DoSports页面。确保在DoSports页面的构造函数中接受这些整数参数并使用它们。

举报

相关推荐

0 条评论