صفوف مستقلة لكل علامة تبويب
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.
ترتيب الطلبات بشكل متسق
Overlay -> فتح علامة تبويب جديدة -> علامة تبويب أولى -> عند العودة إلى الصفحة الرئيسية.
التصميم العام
قم بإعداد الصفحات الرئيسية لكل علامة تبويب وقم بتوجيه جميع أحداث علامة التبويب من خلال تحديثات الحالة.
خريطة التراكب
إطار عمل علامات قابلة للتكوين
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] يجب أن تكون غير فارغة لأن الصفحة الرئيسية مطلوبة لسلوك التنقل المستقر.
السابق
المُحلّلاتالتالي
الطبقات