现在我想将D页弹出到B页

时间:2019-01-08 09:42:40

标签: flutter

我的业务场景是,在一个页面中,我需要连续转到多级页面,然后选择最后一级页面,然后将参数返回到上一页。我该怎么办?

  • 页面A导航器
  • 推送到页面B
  • 页面B导航器
  • 推送到C页
  • C页导航器
  • 推送到D页

现在我希望将D页弹出到B页

如何做到?

1 个答案:

答案 0 :(得分:0)

使用popUntil。将页面B替换为“ / login”示例。

Navigator.popUntil(context, ModalRoute.withName('/login'));

//a.dart
onTap: () {
  Navigator.push(
    context,
    new MaterialPageRoute(
      builder: (context) => BPage(),
      settings: RouteSettings( // set route settings
        name: "bpage" // you will use this string in popUntil
      )
    ),
  );
},


//d.dart
child: GestureDetector(
  onTap: () {
    Navigator.popUntil(context, ModalRoute.withName('bpage')); // here
  },
  child: Text('return A'),
),