2023-08-02 14:03:32 +08:00

3.7 KiB
Raw Blame History

Tab 标签页

基本用法

value 为绑定值,可以为 number 类型选中的tab的下标和 string 类型(标签名)。

valuenumber类型时,wd-tab可以不必设置name。同时如果value超出了tab数量会用0自动兜底

<wd-tabs v-model="tab">
  <block v-for="item in 4" :key="item">
    <wd-tab :title="`标签${item}`">
      <view class="content">内容{{ item}}</view>
    </wd-tab>
  </block>
</wd-tabs>
const tab = ref<number>(0)

.content{
  line-height: 120px;
  text-align: center;
}

粘性布局

设置 sticky 属性,使用粘性布局。可以设置 offset-top 属性,当距离窗口顶部多少像素时,固定标签头。

<wd-tabs v-model="tab" sticky>
  <block v-for="item in 4" :key="item">
    <wd-tab :title="`标签${item}`">
      <view class="content">内容{{ item}}</view>
    </wd-tab>
  </block>
</wd-tabs>

禁用Tab

wd-tab 上设置 disabled 属性,禁用某个页签。

<wd-tabs v-model="tab">
  <block v-for="item in 4" :key="item">
    <wd-tab :title="`标签${item}`" :disabled="item === 1">
      <view class="content">内容{{ item }}</view>
    </wd-tab>
  </block>
</wd-tabs>

点击事件

监听页签的点击事件.

<wd-tabs v-model="tab" @click="handleClick">
  <block v-for="item in 4" :key="item">
    <wd-tab :title="`标签${item}`">
      <view class="content">内容{{ item }}</view>
    </wd-tab>
  </block>
</wd-tabs>
Page({
  data: {
    tab: 0
  },
  handleClick ({ detail: { index } }) {
    console.log(`点击了标签${index}`)
  }
})

手势滑动

设置 swipeable 属性,支持手势滑动。

<wd-tabs v-model="tab" swipeable>
  <block v-for="item in 4" :key="item">
    <wd-tab :title="`标签${item}`">
      <view class="content">内容{{ item }}</view>
    </wd-tab>
  </block>
</wd-tabs>

标签页在标签数大于等于6个时可以滑动当标签数大于等于10个时将会显示导航地图便于快速定位到某个标签。可以通过设置 slidable-num 修改可滑动的数量阈值;设置 map-num 修改显示导航地图的阈值。

Tabs Attributes

参数 说明 类型 可选值 默认值 最低版本
v-model 绑定值 string / number - - -
slidable-num 可滑动的标签数阈值 number - 6 -
map-num 显示导航地图的标签数阈值 number - 10 -
sticky 粘性布局 boolean - false -
offset-top 粘性布局时距离窗口顶部距离 number - 0 -
swipeable 开启手势滑动 boolean - false -

Tab Attributes

参数 说明 类型 可选值 默认值 最低版本
name 标签页名称 string - - -
title 标题 string - - -
disabled 禁用 boolean - false -

Tabs Events

事件名称 说明 参数 最低版本
change 绑定值变化时触发 event = { index, name },index为tab下标name为tab绑定的值 -
click 点击标题时触发 event = { index, name },index为tab下标name为tab绑定的值 -
disabled 点击禁用的标题时触发 event = { index, name },index为tab下标name为tab绑定的值 -