【发布时间】:2020-05-29 00:17:27
【问题描述】:
我有一个这样启动的 Flutter 应用程序:
void main() async {
// Check if user is logged in
runApp(
MaterialApp(
home: (isLoggedIn) ? MainPage() : PageLogin(),
),
);
}
我的 MainPage(和我的 LoginPage)只是 2 个常规的 Stateful Widget。
class MainPage extends StatefulWidget {
MainPage({Key key, this.selectedPageDefault = 0}) : super(key: key);
@override
_MainPageState createState() => _MainPageState();
}
假设我还有 2 个页面,就像 MainPage 一样:PageOne 和 PageTwo。
当我点击MainPage 上的一个按钮时,它会将我带到PageOne,当我点击PageOne 上的一个按钮时,它会将我带到PageTwo。
我去他们使用:
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => PageOne(), // Or PageTwo
),
);
现在,当我点击PageTwo 中的按钮时,我想返回MainPage。
我可以使用Navigator.of(context).popUntil(...),但是它需要使用路由,我没有使用路由去MainPage。
这只是一个示例,但在实际应用中,MainPage 之后的页面不止 2 页,因此我不能只使用pushReplacement 或一种棘手的方式来实现这一点。
我怎样才能回到MainPage?
【问题讨论】:
标签: flutter dart flutter-navigation