صفوف مستقلة لكل علامة تبويب
DeclarativeTabsScaffold يحتفظ بقائمة صفحات كل علامة تبويب بشكل مستقل مع الحفاظ على التحديثات التصريحية.
قائمة الصفحات المحلية
إدارة خريطة (TabId, List<PageEntry>) للتنقل في علامات التبويب بشكل متوقع.
تراكيز على الشاشة
Use TabPageKey = (TabId, pageKey) لتحديد حالة التراكب لكل شاشة علامة تبويب.
ترتيب الطلبات بشكل متسق
Overlay -> فتح علامة تبويب جديدة -> علامة تبويب أولى -> عند العودة إلى الصفحة الرئيسية.
التصميم العام
قم بإعداد الصفحات الرئيسية لكل علامة تبويب وقم بتوجيه جميع أحداث علامة التبويب من خلال تحديثات الحالة.
خريطة التراكب
إطار عمل علامات قابلة للتكوين
```json
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] يجب أن تكون غير فارغة لأن الصفحة الرئيسية مطلوبة لسلوك التنقل المستقر.
السابق
المُحلّلاتالتالي
الطبقات