微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

喷气背包组合导航的多个参数

如何解决喷气背包组合导航的多个参数

如何声明具有多个导航参数的导航路线?我已经检查了 documentationall of these 文章(似乎只是重申了文档所说的内容),我只能找到带有一个的路线示例论证。

这是我所拥有的:

composable(
  route = "createExercise/{exerciseId}",arguments = listof(navArgument("exerciseId") { type = NavType.IntType })
) { backStackEntry ->
  CreateExerciseScreen(
    exerciseId = backStackEntry.arguments!!.getInt("exerciseId"),)
}

这是我想要的:

composable(
  route = "createExercise/{exerciseId},{workoutId}",arguments = listof(
    navArgument("exerciseId") { type = NavType.IntType },navArgument("workoutId") { type = NavType.IntType },)
) { backStackEntry ->
  CreateExerciseScreen(
    exerciseId = backStackEntry.arguments!!.getInt("exerciseId"),workoutId = backStackEntry.arguments!!.getInt("workoutId"),)
}

我为上面的示例随意选择了逗号分隔的语法,而不是我正在寻找的实际语法。

所以,我的问题是:在声明导航路线时,多个参数的正确语法是什么? (可选参数呢?)

解决方法

根据文档:

您可以将其视为通向特定目的地的隐式深层链接。

因此它遵循与网络上任何其他 implicit deep link 和 RESTful URL 的约定相同的约定,通常使用 / 来分隔不同的参数以形成 URL 的路径 - 这包括所需的参数:

createExercise/{exerciseId}/{workoutId}

根据optional arguments documentation,必需参数的路径后面可以跟一个或多个查询参数形式的任意数量的可选参数:

createExercise/{exerciseId}/{workoutId}?setNumber={setNumber}&repNumber={repNumber}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。