Flutter 颤振:如何在不实际导航的情况下更改以前的导航路线?
我的用户将导航到屏幕1,然后是屏幕2,然后是屏幕3 当他们单击屏幕3上的后退按钮时,根据该屏幕中的变量,我希望后退按钮将他们带回屏幕2或屏幕1 注意:后退按钮必须由用户触发,我不想实际地导航回去 我想我可以用WillPopScope,但那只能返回一个boolFlutter 颤振:如何在不实际导航的情况下更改以前的导航路线?,flutter,Flutter,我的用户将导航到屏幕1,然后是屏幕2,然后是屏幕3 当他们单击屏幕3上的后退按钮时,根据该屏幕中的变量,我希望后退按钮将他们带回屏幕2或屏幕1 注意:后退按钮必须由用户触发,我不想实际地导航回去 我想我可以用WillPopScope,但那只能返回一个bool Widget build(BuildContext context) { return WillPopScope( onWillPop: () { return true }, child: Scaffold( .
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () {
return true
},
child: Scaffold(
...
),
);
}
,
下面是一个例子:
return WillPopScope(
onWillPop: () async => true,
child: Scaffold(
appBar: AppBar(
automaticallyImplyLeading: true,
leading: IconButton(
icon: Icon(Icons.arrow_back),
onPressed: () {
_user.isRegistered
? Navigator.popUntil(context, (route) => route.isFirst) // Takes the user to the first page
: Navigator.push(context, MaterialPageRoute(builder: (context) => SecondRoute()));
},
),