## Tabs 标签页 ### 使用指南 ``` javascript import { Tab, Tabs } from 'vant'; Vue.component(Tab.name, Tab); Vue.component(Tabs.name, Tabs); ``` ### 代码演示 #### 基础用法 默认情况下是启用第一个`tab`。 :::demo 基础用法 ```html 内容一 内容二 内容三 内容四 ``` ::: #### active特定tab 可以在`van-tabs`上设置`active`为对应`tab`的索引(从0开始,即0代表第一个)即可激活对应`tab`,默认为0。 :::demo 基础用法 ```html 内容一 内容二 内容三 内容四 ``` ::: #### 设置切换tab的动画时间 通过设置`duration`来指定时间,默认为0.3s,只接受`Number`类型参数。 :::demo 设置切换tab的动画时间 ```html 内容一 内容二 内容三 ``` ::: #### 横向滚动tab 默认情况下多于4个tab时,可以横向滚动tab。可以通过设置`swipeThreshold`这个阙值,多于这个阙值时,tab就会支持横向滚动。 :::demo 横向滚动tab ```html 内容一 内容二 内容三 内容四 内容五 内容六 内容七 内容八 ``` ::: #### 禁用tab 在对应的`van-tab`上设置`disabled`属性即可。如果需要监听禁用事件,可以在`van-tabs`上监听`disabled`事件。 :::demo 禁用tab ```html 内容一 内容二 内容三 内容四 ``` ```javascript export default { methods: { onClickDisabled() { Toast('Disabled!') } } }; ``` ::: #### card样式 `Tabs`目前有两种样式:`line`和`card`,默认为`line`样式,也就上面基础用法中的样式,你可以在`van-tabs`上设置`type`为`card`改为card样式。 :::demo card样式 ```html 内容一 内容二 内容三 内容四 ``` ::: #### 自定义样式 可以在`van-tabs`上设置对应的`class`,从而自定义某些样式。 :::demo 自定义样式 ```html 内容一 内容二 内容三 内容四 ``` ::: #### click事件 可以在`van-tabs`上绑定一个`click`事件,事件处理函数有一个参数,参数为对应`tab`在`tabs`中的索引。 :::demo click事件 ```html 内容一 内容二 内容三 内容四 ``` ```javascript export default { methods: { handleTabClick(index) { alert(index); } } }; ``` ::: ### van-tabs API | 参数 | 说明 | 类型 | 默认值 | 可选 | |-----------|-----------|-----------|-------------|-------------| | type | 两种UI | `String` | `line` | `line`, `card` | | active | 默认激活的tab | `String`, `Number` | `0` | - | | duration | 切换tab的动画时间 | `Number` | `0.3` | - | - | | swipeThreshold | 滚动阀值,默认是超过4个tab时标签页可滚动,通过这个属性可以设置超过多少个可滚动 | `Number` | `4` | - | - | ### van-tab API | 参数 | 说明 | 类型 | 默认值 | 可选 | |-----------|-----------|-----------|-------------|-------------| | title | tab的标题 | `String` | - | - | | disabled | 是否禁用这个tab | `Boolean` | `false` | - | ### van-tabs Event | 事件名 | 说明 | 参数 | |-----------|-----------|-----------| | click | 某个tab点击事件 | index:点击的`tab`的索引 | | disabled | 某个tab禁用时点击事件 | index:点击的`tab`的索引 |