# Tabs 标签页 V1.1.0+
概述
Tabs 标签页,分隔内容上有关联但属于不同类别的数据集合。
温馨提示
- 使用该组件 需要 同时引入
fui-types
类型文件。
# 支持平台
目前开发小程序与H5推荐使用 FirstUI nvue版本 (opens new window)。
安卓系统版本 | 安卓uni-app | 安卓uniapp-x | iOS系统版本 | iOS uniapp | iOS uniapp-x | 小程序 | H5/Web |
---|---|---|---|---|---|---|---|
5.0 | × | ✓ | 9.0 | × | × | × | ✓ |
# 引入
以下介绍两种常用的引入方式。
第一种:在页面中引用、注册
import fuiTabs from "@/components/firstui/fui-tabs/fui-tabs.uvue"
export default {
components:{
fuiTabs
}
}
1
2
3
4
5
6
2
3
4
5
6
第二种:easycom组件规范
传统vue组件,需要安装、引用、注册,三个步骤后才能使用组件。easycom将其精简为一步。
First UI easycom配置请查看 快速上手。
如果不了解easycom,可先查看 官网文档 (opens new window)。
# 代码演示
部分示例演示,完整使用请参考示例程序以及文档API。
基础使用
通过 tabs
属性设置标签页数据,change
为标签页切换事件。
<fui-tabs :tabs="tabs" @change="change"></fui-tabs>
1
import { FuiTabsItemParam } from '@/components/firstui/fui-types/index.uts'
export default {
data() {
return {
tabs: [{
name: '热门推荐'
}, {
name: '新时代'
}, {
name: '懂球帝'
}] as FuiTabsItemParam[]
}
},
methods: {
change(e : FuiTabsItemParam) {
console.log(JSON.stringify(e))
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
滑块与内容同宽
通过 short
属性设置值为false即可让滑块与内容同宽,默认滑块宽度为固定值45rpx。
<fui-tabs :tabs="tabs" :short="false"></fui-tabs>
1
超出一屏,禁用 <标签八>
通过 tabs
属性设置标签页数据,isDot
属性设置角标是否显示为圆点,scroll
属性设置是否可以滚动。
<fui-tabs :tabs="tabs2" :isDot="true" :scroll="true"></fui-tabs>
1
import { FuiTabsItemParam } from '@/components/firstui/fui-types/index.uts'
export default {
data() {
return {
tabs2: [{
name: '标签一'
}, {
name: '标签二'
}, {
name: '标签三',
badge: 1
}, {
name: '标签四'
}, {
name: '标签五'
}, {
name: '标签六'
}, {
name: '标签七'
}, {
name: '标签八',
disabled: true
}, {
name: '标签九'
}] as FuiTabsItemParam[]
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Slots
插槽名称 | 说明 |
---|---|
- | - |
# Props
属性名 | 类型 | 说明 | 默认值 | 平台差异说明 |
---|---|---|---|---|
tabs | Array<FuiTabsItemParam> | 标签页数据,具体格式见下方详细说明 | [ ] | - |
current | Number | 当前选项卡索引 | 0 | - |
scroll | Boolean | 标签页超出一屏是否可以滚动 | false | - |
height | Number | 标签页高度,单位rpx | 96 | - |
background | String | 标签页背景色 | #fff | - |
size | Number | 标签页字体大小 | 28 | - |
color | String | 标签页字体颜色 | #7F7F7F | - |
fontWeight | String | 标签页选中前字重 | normal | - |
selectedSize | Number | 标签页选中后字体大小 | 32 | - |
selectedColor | String | 标签页选中后字体颜色 | #465CFF | - |
selectedFontWeight | String | 标签页选中后字重 | bold | - |
scale | Number | 标签页选中后字体缩放倍数 | 1.2 | - |
badgeColor | String | 角标字体颜色 | #fff | - |
badgeBackground | String | 角标背景颜色 | #FF2B2B | - |
isDot | Boolean | 角标是否显示为圆点 | false | - |
isSlider | Boolean | 是否显示底部滑块 | true | - |
sliderHeight | Number | 滑块高度,单位rpx | 5 | - |
sliderBackground | String | 滑块背景颜色 | #465CFF | - |
sliderRadius | Number | 滑块圆角值,单位rpx。值为-1时则使用滑块高度值 | -1 | - |
padding | Number | 滑块左右padding值,单位rpx | 0 | - |
bottom | Number | 滑块左右bottom值,单位rpx | 0 | - |
short | Boolean | 滑块是否固定为较短的长度45rpx | true | - |
center | Boolean | 滑块是否居中显示,默认居左显示 | false | - |
isFixed | Boolean | 标签页是否固定在顶部 | false | - |
top | Number | isFixed为true时,标签页top值,单位px | 0 | - |
direction | Boolean | tabs item项内容排列方式,可选值:row、column。当设置为column时需调整height值 | row | - |
zIndex | Number | 标签页z-index值,isFixed为true时生效 | 900 | - |
# FuiTabsItemParam
/**
* fui-tabs 标签页 组件props 属性 tabs 参数类型
* @description props 属性 tabs(item项) 参数类型
* @param {string} name {string} 标签显示文本,必选
* @param {string} src {string} 标签显示图标,图标尺寸默认为 40*40,单位rpx,可选
* @param {string} selectedIcon {string} 当前选项图标src,可选,不传默认使用icon
* @param {number} badge {number} 角标数值,可选
* @param {boolean} isDot {boolean} 角标是否显示为圆点,可选
* @param {boolean} disabled {boolean} 是否禁用当前项,可选
* @param {number} index {number} 当前点击项索引值,change 事件返回,无需传值,可选
*/
export type FuiTabsItemParam = {
name : string;
icon ?: string;
selectedIcon ?: string;
badge ?: number;
isDot ?: boolean;
disabled ?: boolean;
index ?: number;
}
/*页面引入*/
import { FuiTabsItemParam } from '@/components/firstui/fui-types/index.uts'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Events
事件名 | 类型 | 说明 | 回调参数 |
---|---|---|---|
@change | (event: FuiTabsItemParam) => void | 标签页切换时触发 | FuiTabsItemParam |
# FuiTabsItemParam
同上。