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.
Forrige.
Overlays.Næste.
Håndtering af ryggen.