mic*_*ech 1 android kotlin android-jetpack-compose
在 Compose 中使用可选参数时:大括号之间的值是多少?
“item=”是关键。大括号内的字符串的用途是什么?
composable("Details?item={item}",
arguments = listOf(navArgument("item") {
this.type = NavType.StringType
defaultValue = "Item not available!"
})) {
Run Code Online (Sandbox Code Playgroud)
你把它倒过来了 - 查询参数(部分)的名称item=可以是任何东西。它可以是lorem_ipsumorfoobar或任何单词 - 导航根本不使用该单词来确定如何解析该参数。唯一重要的是路由模式的结构 - 查询参数语法是如何将参数标记为可选参数。就像网址一样,您可以导航到Details以及Details?item=cat- 两者都会与您的路线匹配。必需的参数将是路径的一部分(即Details/{item})。
正如使用参数导航指南中所解释的:
导航组合还支持在可组合目标之间传递参数。为此,您需要向路线添加参数占位符,类似于使用基本导航库时向深层链接添加参数的方式
这{item}是一个占位符,指示 位于 的位置的任何字符串都{item}应该被解析并作为带有 name 的参数放置item。这是您可以调用navBackStackEntry.arguments?.getString("item")并从目标参数中获取解析值的方法。
| 归档时间: |
|
| 查看次数: |
1182 次 |
| 最近记录: |