Android Jetpack 导航 - 如何在导航参数中传递空字符串?

Cin*_*com 3 android kotlin android-jetpack android-jetpack-navigation android-jetpack-compose

AnimatedNavHost(navController, startDestination = BottomNavItem.Splash.screen_route){
composable(
            signup + "/{emailFromSignIn}" + "/{passwordFromSignIn}",
            arguments = listOf(
                navArgument("emailFromSignIn"){
                    type = NavType.StringType
            },navArgument("passwordFromSignIn"){
                    type = NavType.StringType
            }
}
Run Code Online (Sandbox Code Playgroud)
navController.navigate(signup + "/$textEmail" + "/$textPassword")

Run Code Online (Sandbox Code Playgroud)

我怎样才能传递一个空字符串?

错误:

在导航图中找不到与请求 NavDeepLinkRequest{ uri=android-app://androidx.navigation/signup// } 匹配的导航目的地 NavGraph(0x0) startDestination={Destination(0xb6b16c34) route=splash}

Phi*_*hov 6

您可以使用带有默认空字符串值的可选参数

composable:

composable(
    route = "$signup?emailFromSignIn={emailFromSignIn}&passwordFromSignIn={passwordFromSignIn}",
    arguments = listOf(
        navArgument("emailFromSignIn"){
            type = NavType.StringType
            defaultValue = ""
        },navArgument("passwordFromSignIn"){
            type = NavType.StringType
            defaultValue = ""
        }
    )
) {
Run Code Online (Sandbox Code Playgroud)

navigate:

navController.navigate("$signup?emailFromSignIn=$textEmail&passwordFromSignIn=$textPassword")
Run Code Online (Sandbox Code Playgroud)