flutter - 如何发回数据并导航到特定屏幕?[扑]
问题描述
我有一个日历小部件,它以DateTime
. 我想使用发送此值,Navigator.pop
但我也想使用MaterialPageRoute
将用户发送回页面。我不能用Navigator.pop
这种方式:
onPressed: () async{
DateTime send = date;
Navigator.pop(context, MaterialPageRoute(
builder: (context) => DayPageViewExample(date),
)
);
},
因为用户将在此流程中导航到日历屏幕:初始屏幕 => 第二个屏幕 => 日历屏幕。并且必须将日历中的选定日期发送回初始屏幕。
我基本上想要这样的东西:
onPressed: () async{
DateTime send = date;
Navigator.pop(context, send);
},
但我想将DateTime send
作为参数发送到MaterialPageRoute
.
我能得到一些关于如何重构的建议,Navigator.pop
以便我可以使用回传参数MaterialPageRoute
吗?
解决方案
听起来你想做这样的事情:
Navigator.pushAndRemoveUntil(
MaterialPageRoute(builder: (BuildContext context) => DayPageViewExample(date)),
(Route<dynamic> route) => false),
);
这将删除推送路线下方的所有路线。
推荐阅读
- selenium-webdriver - 负载测试网页界面
- javascript - 我想将我的数组长度限制为特定大小?
- python - Plotly:将线添加到条形图
- node.js - 如何模拟同一路径的不同响应?
- android - ViewFlipper 不显示任何图像
- android - 从 iPhone 拍摄的照片在 Android 手机上旋转 90 度
- php - Opencart 2.x - 客户组 ID 返回为 0
- wordpress - 将此视频右对齐
- java - 如何将第一个图像从 ArrayList 设置为 imageView
- android-studio - Search-Everywhere in Android Studio (IntelliJ) 使搜索文件变得多余?