پشتههای مستقل برای هر تب
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.
الگوی اسکفولد تبها
صفحههای ریشه را برای هر تب آماده کنید و همه رویدادهای تب را از طریق بهروزرسانیهای state هدایت کنید.
نقشهٔ پوشش تب
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] نباید خالی بماند چون صفحهٔ ریشه برای رفتار پایدار ناوبری لازم است.
قبلی
پوششهابعدی
مدیریت بازگشت