Skip to content

TabBar 底部导航栏

应用主导航


功能描述

底部固定的主导航栏,用于在应用的主要区域间切换。


属性规范

属性类型必需默认值说明
itemsTabItem[]Y-标签项列表
activeIndexnumberY-当前激活索引
onChange(index) => voidY-切换回调

TabItem 结构

TabItem {
  key: string
  icon: Icon           // 未激活图标
  activeIcon?: Icon    // 激活图标(可选)
  label: string
  badge?: Badge
}

Badge = number | boolean
// number: 显示数字(超过99显示99+)
// true: 显示红点

布局规范

┌─────────────────────────────────────────────────┐
│                                                 │
│   [图标]      [图标]      [图标]      [图标]   │
│    首页        资产        历史        设置     │
│                                                 │
│   [─────────── 安全区域 ───────────]           │
└─────────────────────────────────────────────────┘

标签项布局

┌─────────┐
│         │
│  [图标] │  ← 24px
│   标签  │  ← 10px
│         │
└─────────┘

行为规范

必须 (MUST)

  1. 激活项有明确视觉区分
  2. 支持点击切换
  3. 底部适配安全区域
  4. 最少 2 个,最多 5 个标签

建议 (SHOULD)

  1. 激活时使用填充图标
  2. 切换时有轻微动画
  3. 点击时有触觉反馈
  4. badge 数字超过 99 显示 99+

可选 (MAY)

  1. 支持长按显示完整标签名
  2. 支持滑动切换(配合 ViewPager)

设计标注

尺寸规格

部分规格
总高度50px + 安全区域
图标尺寸24px
标签字号10px
图标与标签间距2px
项间距均分

颜色规格

状态图标色文字色
默认--color-muted-foreground--color-muted-foreground
激活--color-primary--color-primary

Badge 规格

类型尺寸位置
红点8px 圆图标右上角
数字min-width 16px, height 16px图标右上角

可访问性

要求说明
roletablist
单个标签 roletab
aria-selected激活项为 true
键盘导航左右箭头切换

标签数量建议

数量适用场景
2简单应用
3-4推荐,大多数应用
5功能复杂的应用
>5不推荐,考虑使用抽屉导航

BFM Pay 标签配置

[
  { key: 'home', label: '首页', icon: Home },
  { key: 'assets', label: '资产', icon: Wallet },
  { key: 'history', label: '历史', icon: History },
  { key: 'settings', label: '设置', icon: Settings }
]

Released under the MIT License.