Рецепты
Вкладки и вложенные ветви
Активная вкладка, переход в конкретный дочерний стек, сохранение соседних ветвей и очистка после выхода.
v1.1.0Средний уровень
Вкладки и вложенные ветви
Показать выбранную вкладку
dart
const NavigationActiveOutlet(parentScopeId: NavigationScopeId('shell'))
Перейти в Profile и сохранить Catalog
dart
await navigation.activateBranch(const NavigationScopeId('profile-tab'));
Стек Catalog не меняется.
Открыть Product именно в Catalog
dart
navigation.push<void>(
const ProductDestination('42'),
mountId: const NavigationMountId('catalog-tab'),
scopeId: const NavigationScopeId('catalog-tab'),
);
Место назначения задано явно, даже если сейчас активен Profile.
Показать постоянный дочерний Navigator
Для постоянно видимого дочернего Navigator используйте NavigationOutlet(scopeId: ...), например в интерфейсе master–detail, где список и детали показаны одновременно.
Очистить приватную ветвь после выхода
После выхода очистите приватную ветвь через resetBranch, затем активируйте публичную. Не вызывайте resetBranch при обычном переключении вкладок: иначе пользователь потеряет историю внутри вкладки.