Nepriklausomi stekai kiekvienai kortelei
DeclarativeTabsScaffold išlaiko kiekvienos kortelės puslapių sąrašą nepriklausomą, kartu išsaugodamas deklaratyvius atnaujinimus.
Kiekvienai kortelei skirti puslapių sąrašai
Valdykite Map<TabId, List<PageEntry>>, kad kortelių navigacijos būsena būtų nuspėjama.
Kiekvienam ekranui skirtos perdangos
Naudokite TabPageKey = (TabId, pageKey), kad kiekvienos kortelės ekranui apribotumėte perdangos būseną.
Nuosekli grįžimo tvarka
Perdanga -> pašalinti kortelės steko viršų -> pirmoji kortelė -> onBackAtRoot.
Kortelių Scaffold šablonas
Paruoškite šakninius puslapius kiekvienai kortelei ir visus kortelių įvykius nukreipkite per būsenos atnaujinimus.
Kortelių perdangų žemėlapis
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,
);
Apribojimas
Kiekvienai kortelei, pagesByTab[tab] turi išlikti netuščias nes šakninis puslapis reikalingas stabiliai navigacijos elgsenai.
Ankstesnis
ResolverisKitas
Perdangos