flutter 如何弹出到动态页面?

Han*_*ggi 0 navigator dart flutter

我有一个从父页面推送的帖子页面。这个页面有 3 个步骤,需要 2 次更多的推送(每个页面使用 CupertinoPageRoute 推送)。输入所有文本框后,需要popuntil到起始页(一次弹出3页),这是一个带有topic_id的动态页面。

Homepage
 ? TopicPage (specified with topic_id) 
    ? CreatePage (input some text)
       ? OptionPage (select some options to finish creation)
Run Code Online (Sandbox Code Playgroud)

然后完成创建并弹回具有相同 topic_id 的 TopicPage。

如何达到这种效果?

Jig*_*tel 6

这是帮助您到达路线树中任何先前路线的片段。

          Navigator.popUntil(context, (Route<dynamic> route){
            bool shouldPop = false;
            if(route.settings.name == HomePage.routeName){
              shouldPop = true;
            }
            return shouldPop;
          });
Run Code Online (Sandbox Code Playgroud)

如果您需要此代码的完整示例,请找到此随附的演示。

          Navigator.popUntil(context, (Route<dynamic> route){
            bool shouldPop = false;
            if(route.settings.name == HomePage.routeName){
              shouldPop = true;
            }
            return shouldPop;
          });
Run Code Online (Sandbox Code Playgroud)

如果您有任何疑问,请告诉我。