首页 > 解决方案 > 如何知道我们何时通过导航颤振弹回一个?

问题描述

嗨,我在颤振中从第 1 页导航到第 2 页。我的问题是当我使用以下命令从第 1 页导航到第 2 页时:

Navigator.push()

现在我想从第 2 页弹出到第 1 页我想知道我如何从第 1 页知道我从第 2 页弹出使用:

Navigator.pop()

只是当我从页面弹出时我想更新第 1 页,但我不知道如何知道我是从第 2 页导航的。

我有一个 blongs 到第 1 页的块,当我从第 2 页弹出而不将第 1 页块传递到第 2 页时,我想调用一个事件。

标签: flutterdart

解决方案


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');

推荐阅读