| 参数 | 类型 | 描述 | 默认值 | 支持度或案例 |
| v-model | number、string | 绑定当前选中标签的标识符(即tab选中项的下标或者tab的name属性值) | 0 | |
| type | string | 样式风格类型,可选值为 text、card、button、line-button | line | |
| color | string | 标签主题色 | #0022AB | |
| background | string | 标签栏背景色 | #fff | |
| title-active-color | string | 标题选中态颜色 | - | |
| title-inactive-color | string | 标题默认态颜色 | - | |
| wrap-style | object | 标签栏样式 案例 :透明导航栏下的滚动吸顶 | - | |
| direction | string | 标签栏的展示方位,可选值:vertical。 | horizontal | |
| duration |
number、string |
动画时间,单位秒 |
0.3 |
仅支持type为line、button、line-button的滑块移动的动画时间,标签内容切换时的转场动画时间、页面级滚动导航的内容定位动画时间。 |
| shrink | boolean | 通过 shrink 属性可以开启收缩布局,开启后,所有的标签会向左侧收缩对齐 | false | |
| bar-width V2.0.1 | number、string | 滑块宽度,默认单位为px, 支持数字、rpx、vh、vw等单位及calc() 函数。 | 标签栏水平/垂直展示时,type为line,宽度默认为20px/3px;而type为button、line-button时,宽度默认为选中标签宽度。 | 仅支持type为line、button、line-button。使用了插槽bar则无效 |
| bar-height V2.0.1 | number、string | 滑块高度,默认单位为px,支持数字、rpx、vh、vw等单位及calc() 函数。 | 标签栏水平/垂直展示时,type为line,高度默认为3px/20px, 而type为button、line-button时,宽度默认为选中标签高度。 | 仅支持type为line、button、line-button。使用了插槽bar则无效 |
| bar-style V2.0.1 |
object |
滑块样式 |
- |
仅支持type为line、button、line-button。使用了插槽bar则无效 |
| bar-animate-mode V2.0.1 |
string |
滑动切换tab内容时滑块的动画模式,默认值为linear,即切换tab时滑块宽度保持不变,线性运动。可选值为worm(毛毛虫蠕动)、worm-ease(毛毛虫缓动效果)、none(不设置)。 |
linear |
仅支持type为line。 可结合swiper组件使用,效果更好 案例 :新闻列表、与swiper组件联动 |
| is-dynamic V2.0.1 | boolean | 标签切换后宽高是否有变化 | true | 如果当前选中标签会放大文字、减少内间距等,开启该属性可避免滑块错位。(如果选中的标签文字使用‘font-size:20px;transition: all .2s’进行过渡变化,开启该属性仍旧会错位) |
| ellipsis | boolean | 是否省略过长的标题文字 | true | 标签栏水平展示时,如果标签数量未超过滚动阈值则生效,垂直展示不限制。 |
| scroll-threshold | number、string | 滚动阈值,标签数量超过阈值且总宽度超过标签栏宽度时开始横向滚动 | 5 | |
| scroll-to-center | boolean | 标签栏滚动时当前标签居中 | true | |
| is-lazy-render | boolean | 是否开启延迟渲染(首次切换到标签时才触发内容渲染) | true | |
| animated |
boolean |
是否开启动画 |
true |
用于开启标签栏滚动的过渡动画、切换标签内容时的转场动画、滚动导航下的内容定位动画 |
| before-change | (name) => boolean | Promise | 切换标签前的回调函数,返回 false 可阻止切换,支持返回 Promise | - | name为v-model绑定的值 |
| 内容手势滑动切换相关属性 : | |
| swipeable | boolean | 是否开启手势滑动切换 案例 :滑动切换 | 新闻列表 | 滚动吸顶+左右滑动 | false | |
| swipe-animated |
boolean | 是否开启标签内容滑动时的拖动动画 |
true |
swipeable为true、且is-lazy-render为false时有效 |
| swipe-threshold |
number、string |
滑动切换的滑动距离阈值,单位为px;表示开启手势滑动时,横向滑动多少px切换标签内容 |
120 |
bar-animate-mode为worm、worm-ease时无效(worm时阈值默认为标签内容的一半,不可设置) |
| 滚动吸顶相关属性 : | |
| sticky | boolean | 是否使用粘性定位布局进行滚动吸顶 案例 :滚动吸顶 | false | |
| offset-top | number | 粘性定位布局下标签栏与顶部的最小距离,单位为 px | 0 | |
| z-index | number | 粘性定位布局下,标签栏的z-index值 | 99 | |
| transparent | boolean | 页面滚动过程中,标题栏背景色是否透明渐变 案例 :透明渐变标题栏 | false | background属性值必须为rgba格式 |
| transparent-offset | number | 标题栏背景色透明渐变的滚动距离 | 150 | 请保证标签内容的高度大于该值 |
| sticky-threshold | number | 粘性布局的判断阈值:表示在页面滚动过程中,标签栏距屏幕顶部多少px时,触发吸顶函数进行吸顶判断 案例 :透明导航栏下的滚动吸顶 | 0 | |
| 滚动导航及侧边栏导航相关属性 : | |
| scrollspy | boolean | 是否开启滚动导航;该模式下,内容将会平铺展示 案例 :滚动导航(页面级滚动) | false | 如果标签栏垂直展示,且内容平铺展示,就为侧边栏模式案例 :侧边栏导航(页面级滚动)-仿奶茶点单 |
| page-scroll | boolean | 滚动导航模式下,内容区域是否跟随页面滚动 | true | 为false时,内容区域是放在scroll-view中实现的局部滚动,需自行设置标签页容器高度 案例 :侧边栏导航(区域滚动)-仿奶茶点单 |
1. 如何解决上下滑动与左右滑动相冲突?
* 直接给标签内容具体的高度,使用scroll-view实现局部滚动