简体中文
fs-tab 选项卡
约 1120 字大约 4 分钟
2026-06-25
简介
选项卡组件用于在多个内容区域间切换,支持三种风格(text/capsule/segment),可自定义背景、阴影、内间距等,适用于页面分段、筛选等场景。配合 fs-tab-item 可实现横向/纵向排列、图标、角标、禁用等多样用法。
使用方法
局部引入,在需要引入的页面或组件的 index.json 中配置:
"usingComponents": {
"fs-tab": "avaui-sub/fs-tab/index",
"fs-tab-item": "avaui-sub/fs-tab-item/index"
}代码演示
类型(type 属性)
布局(滚动 平分 更多按钮 更多菜单)
自定义背景(tabBackground 属性)
自定义背景(tabBackground 属性)
隐藏底部线条(hideLine 属性)
API
fs-tab 属性
| 属性 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| value | 受控选中值 | string/number | — | — |
| type | 选项卡风格 | string | text/capsule/segment/outline-capsule | text |
| tabBackground | 背景色/背景样式 | string | CSS背景值(颜色/渐变/图片等) | — |
| hideLine | 是否隐藏底部线条 | boolean | true/false | false |
| tabItemLayout | 子项布局 | string | evenly/auto | auto |
| tabItemMaxWidth | 子项最大宽度 | string | — | 120px |
| extStyle | 外部自定义样式 | string | — | '' |
| showMore | 是否显示更多按钮 | boolean | true/false | false |
| moreButton | 更多按钮配置 | object | 见下方说明 | {} |
| items | tab项数据(数组) | array | 见下方说明 | [] |
fs-tab-item 属性
| 属性 | 说明 | 类型 | 可选值 | 默认值 |
|---|---|---|---|---|
| value | 选项值 | string/number | — | — |
| checked | 是否选中 | boolean | true/false | false |
| disabled | 是否禁用 | boolean | true/false | false |
| type | 类型 | string | text/capsule/segment/outline-capsule | text |
| icon | 图标配置,支持字符串和对象,详见下方说明 | String/Object | — | '' |
| badge | 徽章配置,支持字符串/数字和对象,详见下方说明 | String/Number/Object | — | '' |
| text | 文本内容 | string | — | '' |
| extStyle | 外部自定义样式 | string | — | '' |
| tapId | 点击标识 | string | — | '' |
tapId 说明:fs-tab 组件会自动为每个 fs-tab-item 设置 tapId,命名规则为
tab-item-{index}(index 从 0 开始)。开发者也可以手动设置 tapId 来覆盖自动生成的标识。
icon对象属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| name | String | '' | 图标名称(支持iconfont类名和http链接) |
| size | String/Number | 24 | 图标大小 |
| color | String | '' | 图标颜色 |
| extStyle | String | '' | 图标外部样式 |
更多图标配置选项请参考 fs-icon组件文档
badge对象属性
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| content | String/Number | '' | 徽章内容,支持数字和文字 |
| max | Number | 99 | 最大显示数字,超过显示为 max+ |
| type | String | 'filled' | 徽章类型:filled(填充胶囊) / outlined(边框圆形) |
| color | String | '#ff4444' | 徽章颜色 |
| dot | Boolean | false | 是否显示小红点 |
| offset | Array | null | 设置徽章的位置偏移,示例:[-10, 20] 或 ['10rpx', '8rpx'] |
| contentStyle | String | '' | 徽章内容的自定义样式 |
更多徽章配置选项请参考 fs-badge组件文档
moreButton配置说明
moreButton 对象用于配置更多按钮的行为和样式:
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| icon | string | 'menu' | 按钮图标,支持图标字体类名 |
| showDefaultMenu | boolean | true | 是否显示默认的下拉菜单 |
| visible | boolean | true | 按钮是否可见 |
事件
fs-tab 事件
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| change | 切换时触发 | |
| moreClick | 点击更多按钮 | |
| ready | 组件初始化完成时触发 | 无 |
| scrollEnd | 滚动结束时触发 | { visibleIndexes },visibleIndexes为所有在可视区域内的item索引数组 |
fs-tab-item 事件
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| change | 点击时触发 |
Slot
| 组件 | 名称 | 说明 |
|---|---|---|
| fs-tab | 默认 | tab-item列表 |
| fs-tab-item | 默认 | 选项内容 |
设计说明
- 支持 text/capsule/segment 三种风格,背景、阴影、内间距可灵活配置。
- 支持横向/纵向、图标、禁用、角标、受控/非受控等多场景。
- 选中态、禁用态、尺寸、类型等样式可自定义。
- 结构清晰,便于扩展。
