按下按钮后如何返回上一页?
How to go back to the previous page in flutter upon button press?
按下按钮后,以下命令成功执行。
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,
我该如何实现?
如果屏幕 S1 与流程不同,例如您的流程是 S1->S2->S3,那么要返回 S1,您可以执行 Navigator.pop(context)
这会将您导航到 S1 并返回到 S2。
如果您的流程不同意味着您要从 S1 以外的地方进入 S2,请说 S3,但想转到 S1,然后像之前一样使用 Navigator.push()
。
我认为这应该可以解决您的问题..
按下按钮后,以下命令成功执行。
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, 我该如何实现?
如果屏幕 S1 与流程不同,例如您的流程是 S1->S2->S3,那么要返回 S1,您可以执行 Navigator.pop(context)
这会将您导航到 S1 并返回到 S2。
如果您的流程不同意味着您要从 S1 以外的地方进入 S2,请说 S3,但想转到 S1,然后像之前一样使用 Navigator.push()
。
我认为这应该可以解决您的问题..