问题
如何使用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页面的构造函数中接受这些整数参数并使用它们。