pushBuild static method

Future pushBuild(
  1. String routeName,
  2. PageType pageType,
  3. WidgetBuilder builder, {
  4. Map? params,
  5. bool? maintainState,
  6. bool? fullscreenDialog,
  7. bool animated = true,
})

提供外界直接传builder的能力

Implementation

static Future pushBuild(
    String routeName, PageType pageType, WidgetBuilder builder,
    {Map? params,
    bool? maintainState,
    bool? fullscreenDialog,
    bool animated = true}) {
  if (pageType == PageType.flutter) {
    var route = DNavigatorManager.materialRoute(
        routeName: routeName,
        params: params,
        maintainState: maintainState!,
        pushAnimated: animated,
        fullscreenDialog: fullscreenDialog!,
        builder: builder);
    DNavigatorManager.nodeHandle(
        routeName, PageType.flutter, DStackConstant.push,
        result: {}, animated: animated, route: route);
    return _navigator!.push(route);
  } else {
    DNavigatorManager.nodeHandle(routeName, pageType, DStackConstant.push,
        result: params, animated: animated);
    return Future.value(true);
  }
}