Uafhængige stakke pr. faneblad.
DeclarativeTabsScaffold keeps each tab's page list independent while preserving declarative updates.
Fanelokale sidetabeller.
Manage Map<TabId, List<PageEntry>> for predictable tab navigation state.
Skærmoverlays (individuelt tilpasset).
Use TabPageKey = (TabId, pageKey) to scope overlay state for each tab screen.
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.