代码之家  ›  专栏  ›  技术社区  ›  Mahdi-Malv

组合导航:在导航之前从堆栈中删除以前的可组合文件

  •  0
  • Mahdi-Malv  · 技术社区  · 4 年前

    我在用 compose-navigation (alpha09)处理组件之间的导航

    闪屏 当移动到下一个目的地时(我不想 背压 回到飞溅)

    navHostController.navigate(Route.login.id) {
        navHostController.graph.clear()
    }
    
    navHostController.navigate(Route.login.id)
    navHostController.graph.clear()
    
    val currentDest = navHostController.currentDestination
    navHostController.navigate(Route.login.id)
    if (currentDest != null) {
       navHostController.graph.remove(currentDest)
    }
    

    那么,我如何才能删除启动屏幕,然后移动到下一个?

    1 回复  |  直到 4 年前
        1
  •  0
  •   Mahdi-Malv    4 年前

    使用 popUpTo = 0 您可以在导航到下一个目标之前清除堆栈。所以:

    navHostController.navigate(Route.login.id) {
        popUpTo = 0
    }
    
    推荐文章