push method

void push({
  1. required Widget page,
  2. bool openDrawer = true,
  3. bool endDrawer = true,
  4. String? name,
  5. Object? arguments,
  6. String? restorationId,
})

Implementation

void push(
    {required Widget page,
    bool openDrawer = true,
    bool endDrawer = true,
    String? name,
    Object? arguments,
    String? restorationId}) {
  var routeSettings = RouteSettings(
      name: name ?? page.runtimeType.toString(), arguments: arguments);

  if(_pages.isEmpty && openDrawer && drawerNavigatorContextContext != null){
    if(endDrawer){
      Scaffold.of(drawerNavigatorContextContext!).openEndDrawer();
    }else{
      Scaffold.of(drawerNavigatorContextContext!).openDrawer();
    }
  }
  ///展示新界面
  _pages.add(MaterialPage(
      child: page,
      name: routeSettings.name,
      arguments: routeSettings.arguments,
      restorationId: restorationId));

  notify();
}