【问题标题】:How to go back to the previous page in flutter upon button press?按下按钮后如何快速返回上一页?
【发布时间】:2020-11-03 17:49:36
【问题描述】:

按下按钮后,以下命令执行成功。

Navigator.push(context, MaterialPageRoute(builder:(context)=>NewForm(stateCheck: widget.state1,)));

但我希望这发生在某个布尔条件下,如果条件为假,则应在按下按钮时执行上述操作,否则导航应完成到上一个屏幕。

if (a == b){
    Navigator.push(context, MaterialPageRoute(builder:(context)=>NewForm(stateCheck: widget.state1,)));
} else {
//what command should be written here to move to back to previous screen
}

简而言之,有3个屏幕,分别是S1、S2和S3。当前屏幕为 S2,按下按钮后,如果条件为假,用户应移至屏幕 S3,如果条件为真,用户应移至屏幕 S1, 我应该如何实现它?

【问题讨论】:

  • Navigator.pop(context); 将带您回到上一个屏幕

标签: flutter flutter-navigation


【解决方案1】:

如果屏幕 S1 与流程不同,例如您的流程是 S1->S2->S3,那么要返回 S1,您可以执行 Navigator.pop(context) 这会将您导航到 S1,然后返回 S2。

如果您的流程不同,则意味着您从 S1 以外的 S3 进入 S2,但想前往 S1,然后像之前一样使用 Navigator.push()

我认为这应该可以解决您的问题..

【讨论】:

  • 使用 Navigator.pop(context) 返回上一屏的最佳解决方案
猜你喜欢
  • 2011-08-29
  • 1970-01-01
  • 2016-10-02
  • 2016-10-06
  • 2018-12-19
  • 1970-01-01
  • 2013-04-12
  • 1970-01-01
相关资源
最近更新 更多