Flutter roteamento componente de substituir, com a rota de retorno, que voltar para onde ele vem

Voltar à página anterior
Navigator.of(context).pop();

Princípio: nenhum caminho rota clara (pilha de roteamento), salve todo o processo de roteamento
necessidades:

  • rendimento normal para a página anterior
rota alternativa

Princípio: Cada salto irá limpar uma rota no caminho para a página, assim que a operação para retornar diretamente para a última casa passo.
requisitos:

  • Nós saltar da equipa da casa a registerFirst página
  • Então, a partir registerFirst página através do pushReplacementNamedsalto para o registerSecond página
  • Desta vez, quando clicamos registerSecond botão voltar quando ele vai retornar diretamente para o Centro de Utilizador
Navigator
    .of(context)
    .pushReplacementNamed('/registerSecond');
Voltar ao percurso raiz

Princípio: Limpar todas as rotas de páginas, saltar directamente para casa
necessidades:

  • Nós saltamos de casa para registerFirst página
  • Então, a partir registerFirst página salto para registerSecond página
  • E depois de registerSecond salto para o registerThird página.
  • Desta vez, queremos é registerThird devolvido ao utilizador após centro de registo bem sucedido.
Navigator
    .of(context)
    .pushAndRemoveUntil(
    	//这里的Tabs()就是引入的跟路由页面
        new MaterialPageRoute(builder: (context) => new Tabs()),
        )
    );
Onde ele volta para onde ir?

Princípio: ainda o mesmo caminho de volta para a raiz usando uma operação lógica que você quer ir para a página.
requisitos:

    • Nós saltamos do centro ao usuário registerFirst página
  • Então, a partir registerFirst página salto para registerSecond página
  • E depois de registerSecond salto para o registerThird página.
  • Desta vez, queremos é registerThird devolvido ao utilizador após centro de registo bem sucedido.
Navigator
    .of(context)
    .pushAndRemoveUntil(
    	//不操作会直接返回到首页,包括tabBar
    	//参数传递,index=1 就是首页,每一个索引对应的是tabBar的不同页面 ,比如 2 就是用户中心
        new MaterialPageRoute(builder: (context) => new Tabs(index:2)),
        )
    );
//这里是示例代码

Publicado 156 artigos originais · Louvor obteve 531 · vista 110 000 +

Acho que você gosta

Origin blog.csdn.net/qq_39043923/article/details/105003776
Recomendado
Clasificación