关于List<MaterialPage> pages页面栈的问题?

来源:5-9 封装统一导航功能提高开发效率

irebirth

2022-06-02

main.dart里面是不是要把系统所有的页面都要写进入,用if…else…if去判断?

写回答

3回答

CrazyCodeBoy

2022-06-06

MaterialPage? page设置为可空试试看:
RouteStatus getStatus(MaterialPage? page) {
  if (page?.child is LoginPage) {
    return RouteStatus.login;
  } else if (page?.child is RegistrationPage) {
    return RouteStatus.registration;
  } else if (page?.child is BottomNavigator) {
    return RouteStatus.home;
  } else if (page?.child is NoticePage) {
    return RouteStatus.notice;
  } else if (page?.child is DarkModePage) {
    return RouteStatus.darkMode;
  } else if (page?.child is VideoDetailPage) {
    return RouteStatus.detail;
  } else {
    return RouteStatus.unknown;
  }
}
0
0

irebirth

提问者

2022-06-04

如何不在main.dart的if...else..if加上test1页面的话,首页跳转到测试页报错

//img.mukewang.com/szimg/629a39d109df47be06660420.jpg//img.mukewang.com/szimg/629a39d1099c1f9902610137.jpg


0
0

CrazyCodeBoy

2022-06-02

不用,只需要将需要进行路由堆栈管理的页面放进去就可以了,比如需要感知页面前后台切换的页面。
其余源码可以直接通过Navigator来跳转。
0
0

Flutter高级进阶实战-仿哔哩哔哩-掌握Flutter高阶技能

一次性掌握Flutter高阶技能+商业级复杂项目架构设计与开发方案

1723 学习 · 870 问题

查看课程