ഓരോ ടാബിനും സ്വതന്ത്ര സ്റ്റാക്കുകൾ
DeclarativeTabsScaffold ഓരോ ടാബിന്റെയും പേജ് പട്ടികയെ സ്വതന്ത്രമായി നിലനിർത്തുന്നതിനൊപ്പം ഡിക്ലാരേറ്റീവ് അപ്ഡേറ്റുകൾ സംരക്ഷിക്കുന്നു.
ടാബ്-ലോകൽ പേജ് പട്ടികകൾ
കൃത്യമായി പ്രവചിക്കാവുന്ന ടാബ് നാവിഗേഷൻ നിലക്കായി Map<TabId, List<PageEntry>> നിയന്ത്രിക്കുക.
ഓരോ സ്ക്രീനിനുമുള്ള ഓവർലേകൾ
ഓരോ ടാബ് സ്ക്രീനിനും ഓവർലേ നില പരിധി നിശ്ചയിക്കാൻ TabPageKey = (TabId, pageKey) ഉപയോഗിക്കുക.
ഏകീകൃത ബാക്ക് ക്രമം
ഓവർലേ -> ടാബ് സ്റ്റാക്ക് pop ചെയ്യുക -> ആദ്യ ടാബ് -> onBackAtRoot.
ടാബ് Scaffold മാതൃക
ഓരോ ടാബിനും root pageകൾ ഒരുക്കി, എല്ലാ ടാബ് ഇവന്റുകളും state updates വഴി റൂട്ടുചെയ്യുക.
ടാബ് ഓവർലേ മാപ്പ്
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,
);
നിയന്ത്രണം
ഓരോ ടാബിനും, pagesByTab[tab] ശൂന്യമല്ലാതിരിക്കണം സ്ഥിരമായ നാവിഗേഷൻ പെരുമാറ്റത്തിന് root page ആവശ്യമായതിനാലാണ്.