flutter - Navigator.pop 带参数
问题描述
我目前有路线
Navigator.pop(context,"/second");
但是,我需要通过参数contact
。我知道这适用于arguments:
for popAndPushNamed
,但我不知道如何为pop/popUntil
等做。
Contact contact = ModalRoute.of(context).settings.arguments;
代码在编辑页面上。在 上onPress
,它会返回到显示更新的文档字段的上一页。
解决方案
Navigator.pop(context, "/second")
将弹出当前路由并返回String
“/second”作为该路由的结果。如果这条路由被推送,它会收到一个在弹出时Future
会解决的问题。String
如果您的页面会在 /myNextRoute 上弹出结果,则以下代码段将返回“/second”作为结果。
final result = await Navigator.pushNamed(context, "/myNextRoute");
所以我假设你会想要返回contact
,所以只需使用
// on the first screen
final contact = await Navigator.pushNamed(context, "/myNextRoute");
// on the second screen
Navigator.pop(context, contact);
推荐阅读
- inheritance - kotlin 类扩展在列表上下文中使用时解析父类的值而不是子类
- java - 需要在集成测试用例中模拟 bean
- javascript - 尝试设置变量时返回未定义的函数
- angular - 启用 Ivy 的 Angular 8 - @swimlane/ngx-datatable 抛出入口点错误
- python - ImportError:无法导入名称“RGBColor”
- oracle - Oracle 查询 [需要子查询?]
- php - 加载 xdebug.so 未定义符号失败:zend_empty_string
- javascript - React 中的 ChartJS - 即使触发了渲染方法,更改数据集道具也不会更改视图
- haskell - 如何对包装在 IO monad 中的值使用数据构造函数?
- android - 由于 Internet 许可,CTS 失败