flutter - 现在我希望页面 D 弹出到页面 B 怎么做
问题描述
我的业务场景是在一个页面内,我需要依次进入多级页面,选择最后一级页面,然后将参数返回到上一页面。我应该怎么办?
- 页面导航器
- 推到页面 B
- 页面 B 导航器
- 推到C页
- 页面 C 导航器
- 推到页面 D
现在我希望页面 D 弹出到页面 B
怎么做?
解决方案
使用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'),
),
推荐阅读
- python - 删除由多个 tkinter 小部件组成的对象
- xml - 根据子节点值删除xml中的节点
- python - 具有线性 y 轴和 log x 轴的最佳拟合线半对数刻度
- javascript - 修复导航栏子菜单离开屏幕的问题
- javascript - 在 Jest 中使某些测试保持沉默
- java - Python 网络字节数与 java 略有不同
- javascript - 如何在反应中比较if语句中的所有数组元素
- bash - 删除目录中的文件并忽略如果为空-BASH
- php - Laravel 文件存储 URL 在本地工作,但在真实服务器上是 404
- javascript - 单击时捕获隐藏在 Leaflet 弹出窗口中的 ID 需要单击两次才能更新 [Javascript]