flutter - 如何知道我们何时通过导航颤振弹回一个?
问题描述
嗨,我在颤振中从第 1 页导航到第 2 页。我的问题是当我使用以下命令从第 1 页导航到第 2 页时:
Navigator.push()
现在我想从第 2 页弹出到第 1 页我想知道我如何从第 1 页知道我从第 2 页弹出使用:
Navigator.pop()
只是当我从页面弹出时我想更新第 1 页,但我不知道如何知道我是从第 2 页导航的。
我有一个 blongs 到第 1 页的块,当我从第 2 页弹出而不将第 1 页块传递到第 2 页时,我想调用一个事件。
解决方案
Navigator.pop() 方法接受一个可选的第二个参数,称为结果。文档https://flutter.dev/docs/cookbook/navigation/returning-data中有一个示例,用于将数据从第二个屏幕返回到第一个屏幕。这可以调整为触发对弹出结果的操作。像,在第一个屏幕上:
fun(BuildContext context) async {
final result = await Navigator.push(context,ROUTE);
if (result == 'Returned') {
do something...
}
}
在第二个屏幕上:
Navigator.pop(context, 'Returned');
推荐阅读
- c# - 从字符串转换日期和/或时间时错误是转换失败
- json - 如何在shell脚本中删除Json文件中字符串周围的多余引号
- python - 在 sagemaker 中旋转大熊猫数据框
- vuejs2 - 我想在 vuejs 中的图像上悬停时开始幻灯片放映
- typescript - 如何使用 es6 将 esri-leaflet 导入 Angular
- php - 在不刷新页面的情况下获取选择选项的值
- python - 将电影标题的文本文件和导演组一起读入字典
- arrays - 如何以角度显示数组数据
- python - Python Pandas Drop 在使用 drop 时重新排序我的数据框
- python - TypeError: int() 参数必须是字符串、对象或数字,而不是“时间戳”