ഓരോ ടാബിനും സ്വതന്ത്ര സ്റ്റാക്കുകൾ
DeclarativeTabsScaffold keeps each tab's page list independent while preserving declarative updates.
ടാബ്-ലോകൽ പേജ് പട്ടികകൾ
Manage Map<TabId, List<PageEntry>> for predictable tab navigation state.
ഓരോ സ്ക്രീനിനുമുള്ള ഓവർലേകൾ
Use TabPageKey = (TabId, pageKey) to scope overlay state for each tab screen.
ഏകീകൃത ബാക്ക് ക്രമം
ഓവർലേ -> ടാബ് സ്റ്റാക്ക് 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 ആവശ്യമായതിനാലാണ്.