Uafhængige stakke pr. faneblad.

DeclarativeTabsScaffold holder hver fane's sidetabel uafhængig, samtidig med at den bevarer deklarative opdateringer.

Fanelokale sidetabeller.

Administrer en datastruktur af typen `Map<TabId, List<PageEntry>>` for at sikre en forudsigelig navigationsoplevelse mellem fanerne.

Skærmoverlays (individuelt tilpasset).

Brug `TabPageKey = (TabId, pageKey)` til at definere omfanget af overlay-tilstanden for hver fanebladsskærm.

Konstant mangel på lager.

Overlay -> vis pop-up-vindue med faner -> første fane -> handling ved tilbageknap, når man er på roden.

Faner: Scaffold-mønster.

Forbered rod-sider for hver fane, og diriger alle hændelser fra fanerne gennem opdateringer af tilstanden.

Lag-overlayskort.

Deklarative faner med layout.

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,
);
Begrænsning.

For hver faneblad, `pagesByTab[tab]` må ikke være tom. fordi rod-siden er nødvendig for en stabil navigationsoplevelse.