跳到主要内容

标签页 Tabs

选项卡切换组件,用于在不同的内容区域之间进行切换

安装使用

import { TiTabs } from '@titian-design/mobile-react'

安装使用

import { TiTabs } from 'titian-h5-react'

基本用法

单独使用
codesanbox
copy
code

TiTabs API

属性 Properties

名称类型必填默认值说明备注
variantstringpure标签页的风格,可选值:block pure calendar multi-
tabsarray | Array<Option>-数据项, ['首页', '我的'] 或者 [{label: '首页'},{label: '我的'}]-
activeTabnumber | string0选中项索引,或者 tab-key 对应的值-
disabledTabsarray-禁用的数据项-
durationnumber500滑动动画时长-
dividerstring-分割线类型,可选值:line shadow default-
stickybooleanfalse是否有吸顶效果-
offsetTopnumber0吸顶距离-
usePureCssbooleanfalse使用css的position: sticky实现-
countnumber5单屏展示的菜单数量-
tabWidthnumber-每个菜单的宽度,单位 px,设置此项后 count 则无效-
gapnumber-1tab(文字)间距,单位 px,设置此项后 tab-width 和 count 无效-
autoGapbooleantrue当 tab 总宽度不够一屏,采用平铺模式-
useSlotbooleanfalse是否启用插槽,即内置 swiper 组件-
extStylestring | Record<string, string>-根节点样式-
tabKeystringlabeltabs 如果是对象数组,对应每项的关键词 key-
aliasRecord<string, string>-数据项默认字段名label description tag date的别名,用于自定义数据,可替代tabKey属性-
scrollWithAnimationbooleantruetab切换,是否使用过度动画-
asyncChangebooleanfalse是否采用受控模式,异步设置active-tab-

Option

API 中的 tabs 可以为一个对象数组,数组中的每一个对象有以下 key:

名称类型必填默认值说明备注
labelstring-标题-
descriptionstring-variant设置calendar或者multi可用,标题下描述文字-
tagstring-variant设置multi可用,最下方标签,如设置日期标签国庆节等-
datestring-variant设置multi可用,设置日期如:2022-12-01,如果是当前日期,下标tag将会写成当前-

事件 Events

名称参数列表描述备注
onChange(e: CustomEvent<{index: number, item: Record<string, string>}>) => void当前激活的标签-
onFixed(e: CustomEvent<{isFixed: boolean}>) => void使用吸顶功能是,吸顶状态改变是触发-
onTiClick(e: CustomEvent<{index: number, item: Record<string, string>}>) => void点击tab项时触发-
onDisabled(e: CustomEvent<{index: number, item: Record<string, string>}>) => void点击禁用的tab项时触发-

插槽 Slots

名称说明备注
tab-content-${index}每个标签页展示项,index为tabs的索引,如果使用插槽请用可扩展样式类名swiper-class设置容器高度。-

外部样式类 External Classes

名称说明备注
tabClasstab容器样式名-
tabActiveClass激活项tab容器样式名-
tabTextClasstab 文字样式名可设置缺省或者截断
tabTextActiveClass激活项tab文字样式名
swiperClassswiper 容器样式名-
tabsClasstabs 样式名-
tabsMarkClass当前项底部标志类名如果修改下划线的宽度,在自定义样式类里加--tabs-mark-width: 10px
extClass根节点样式类名-

CSS 变量 CSS Variable

变量默认值说明备注
--tabs-background-colortheme.color.gray.background.defaulttabs背景颜色-
--tabs-swiper-background-color#ffftabs下方swiper内容部分背景颜色-
--tabs-tab-height88pxtabs高度-
--tabs-swiper-height150pxtabs下方swiper内容部分高度-
--tabs-tab-colortheme.color.gray.texticon.550tabs文字颜色-
--tabs-tab-font-sizetheme.fontSize.t6tabs文字字号-
--tabs-label-font-weighttheme.fontWeight.regulartabs文字字重-
--tabs-active-font-sizetheme.fontSize.t6tabs激活项文字字号-
--tabs-active-font-weighttheme.fontWeight.semiboldtabs激活项文字字重-
--tabs-active-text-colortheme.color.gray.texticon.900tabs激活项文字颜色-
--tabs-active-line-colortheme.color.brand.1000tabs激活项下标颜色,默认跟随主题色-
--tabs-tab-description-font-sizetheme.fontSize.t4描述文字大小(variant="multi")-
theme.fontSize.t2描述文字大小(variant="calendar")-
--tabs-tab-tag-font-sizetheme.fontSize.t2multi模式下最下方标签的文字大小-
--tabs-tab-tag-line-heighttheme.lineHeight.single.t3multi模式下最下方标签的文字大小-
--tabs-tab-description-line-heighttheme.lineHeight.single.t3描述文字行高-
--tabs-tab-description-font-sizetheme.fontSize.t4描述文字大小-