newRouterConfigWithTabNavigator static method

RouterConfig<Uri> newRouterConfigWithTabNavigator({
  1. required List<StackPageDescriptor> pages,
  2. required List<TabPageDescriptor> tabPages,
  3. required double tabHeight(
    1. BuildContext
    ),
  4. required Widget tabBuilder(
    1. BuildContext,
    2. List<String>,
    3. int
    ),
  5. bool lazy = false,
  6. int initialTab = 0,
  7. String initialRoute = '/',
})

Implementation

static RouterConfig<Uri> newRouterConfigWithTabNavigator({
  required List<StackPageDescriptor> pages,
  required List<TabPageDescriptor> tabPages,
  required double Function(BuildContext) tabHeight,
  required Widget Function(BuildContext, List<String>, int) tabBuilder,
  bool lazy = false,
  int initialTab = 0,
  String initialRoute = '/',
}) {
  _tabRouter = GlobalKey<TabRouterState>();
  final tabNavigator = TabRouter(
    key: _tabRouter,
    initialIndex: initialTab,
    pages: tabPages,
    tabBuilder: tabBuilder,
    tabHeight: tabHeight,
    lazy: lazy,
  );

  final routerConfig = Navigation.newRouterConfig(
    pages: [
      StackPageDescriptor(name: '/', builder: (_) => tabNavigator),
      ...pages,
    ],
    config: StackRouterDelegateConfiguration(initialRoute: initialRoute),
  );

  return routerConfig;
}