Flutter AutoRoute v6.X.X named навигация

Рейтинг: 1Ответов: 0Опубликовано: 27.04.2023

Всем привет, решил использовать библиотеку auto_route для реализации навигации в приложении, которое использует botton_navigation_bar

Однако никак не могу понять как использовать навигацию с параметрами в пути

Объясню на примере: есть bottomnavigationbar c первой вкладкой home. при клике на один из его элементов (продуктов) можно "провалиться" на страничку с подробной информацией о продукте

@RoutePage(name: 'EmptyHomeRouter')
class EmptyHomeRouterPage extends AutoRouter {
  const EmptyHomeRouterPage({super.key});
}

@AutoRouterConfig(replaceInRouteName: 'Page,Route')
class AppRouter extends _$AppRouter {
  @override
  List<AutoRoute> get routes => [
        AutoRoute(
          page: MainRoute.page,
          initial: true,
          path: '/',
          children: [
            AutoRoute(
              path: 'home',
              page: EmptyHomeRouter.page,
              children: [
                AutoRoute(path: '', page: HomeRoute.page),
                AutoRoute(path: ':id', page: ProductRoute.page),
              ],
            )


...

Страничка продукта:

@RoutePage()
class ProductPage extends StatelessWidget {
  const ProductPage({
    Key? key,
    @PathParam() required this.id,
  }) : super(key: key);

  final int id;
...

Если использовать для навигации строку ниже, то все работает, переходим на страницу продукта

    context.router.push(ProductRoute(id: product.id));

Однако никак не могу понять как использовать named навигацию через пути. Не работает:

context.router.pushNamed('/home/${id}')

Ответы

Ответов пока нет.