Hər tab üçün müstəqil yığınlar

DeclarativeTabsScaffold hər tabın səhifə siyahısını bir-birindən müstəqil saxlayır və deklarativ yeniləmələri qoruyur.

Tab üçün lokal səhifə siyahıları

Müəyyən edilə bilən tab naviqasiya vəziyyəti üçün Map<TabId, List<PageEntry>> idarə edin.

Hər ekran üçün örtüklər

Hər tab ekranı üçün örtük vəziyyətini məhdudlaşdırmaq üçün TabPageKey = (TabId, pageKey) istifadə edin.

Ardıcıl geri qaytarma sırası

Örtük -> tab yığınını pop et -> ilk tab -> onBackAtRoot.

Tabs Scaffold nümunəsi

Hər tab üçün kök səhifələri hazırlayın və bütün tab hadisələrini state yeniləmələri vasitəsilə yönləndirin.

Tab örtük xəritəsi

DeclarativeTabsScaffold

const tabHome = TabId('home');
const tabSettings = TabId('settings');

final pagesByTab = <TabId, List<PageEntry>>{
  tabHome: [const PageEntry(key: 'home', name: '/home')],
  tabSettings: [const PageEntry(key: 'settings', name: '/settings')],
};

return DeclarativeTabsScaffold(
  items: items,
  currentTab: currentTab,
  onSelectTab: _selectTab,
  pagesByTab: pagesByTab,
  setPagesForTab: _setPagesForTab,
  buildPage: _buildTabPage,
);
Məhdudiyyət

Hər bir tab üçün, pagesByTab[tab] boş qalmamalıdır çünki sabit naviqasiya davranışı üçün kök səhifə tələb olunur.