Skip to content

Tabs 标签

iPhone

该组件,是一个tabs标签组件,在标签多的时候,可以配置为左右滑动,标签少的时候,可以禁止滑动。 该组件的一个特点是配置为滚动模式时,激活的tab会自动移动到组件的中间位置。

平台差异说明

APPH5微信小程序支付宝小程序QQ小程序···
适配中

代码示例

部分功能示例,具体可参考示例程序以及文档API。

基础用法

  • 通过设置 scrollable (默认为 true), 配置tabs组件的内容是否可以左右滑动,一般4个标签一下时,可以禁止滑动,设置为 false,5个标签以上,建议可以左右滑动,设置为 true
  • tabs标签的切换,需要绑定 current 值,在 change 事件回调中获取当前激活的标签索引 index,并其赋值给 current 值即可。

具体的标签,通过 list 属性配置,该属性要求为数组,元素为对象,对象默认要有 name 属性,如需更改name 属性,可通过 keyName 属性配置,示例:

html
<template>
    <fu-tabs :list="list" :current="current" keyName="name" :scrollable:="false" @change="handleChange"></fu-tabs>
</template>

<script setup>
    import { ref, reactive } from 'vue';

    // data数据
    const list = reactive([
        { name: '全部' },
        { name: '待发货' },
        { name: '待收货' },
        { name: '待评价' },
        { name: '已完成' }
    ]);
    let current = ref(0);

    // methods方法
    const handleChange = (index) => {
        current.value = index;
    };
</script>

手动配置激活的标签

可以通过 current 控制tabs当前的第几个处于激活状态

html
<fu-tabs ref="tabsRef" :list="list" :current="2"></fu-tabs>

控制tabs组件的宽度

有时候我们并不想让 fu-tabs 组件占满整个屏幕的宽度,如果有此需求,可以给 fu-tabs 外面嵌套一个view元素,控制这个view的宽度或者内外边距,view里面的 fu-tabs 组件 宽度也会相应的发生变化。

html
<view style="width: 500rpx;>
    <fu-tabs ref="tabsRef" :list="list" :current="2"></fu-tabs>
</view>

控制底部滑块的样式

  • 通过 lineColor 控制颜色滑块颜色。
  • 通过 lineWidth 控制滑块的长度。
  • 通过 lineHeight 控制滑块高度。
html
<fu-tabs ref="tabsRef" :list="list" lineColor="red" lineWidth="10" lineHeight="20"></fu-tabs>

API

Tabs Props

属性名说明类型默认值可选值
list标签数组,元素为对象,如[{name: '推荐'}]Array--
duration动画时长,单位为msNumber300-
activeStyle菜单选中时的样式 (默认{ color: '#303133' })String|Object--
inactiveStyle菜单未选中时的样式 (默认{ color: '#606266' })String|Object--
lineWidth滑块的宽度String|Number20-
lineHeight滑块的高度String|Number3-
lineColor滑块的颜色String#2979ff-
lineBgSize滑块背景显示大小,当滑块背景设置为图片时使用(默认 cover)Stringcover-
itemStyle菜单item的样式 (默认{ height: '44px' })String|Object--
padding各个元素的内边距可在itemStyle设置 默认 '0 15px'String--
scrollable是否可以左右滑动Booleantruefalse
current当前激活的标签索引Number0-
keyName标签对象的key名,默认是nameStringname-

Tabs Events

事件名说明回调参数
change标签改变时触发 index: 点击了第几个tab,索引从0开始() => void
click点击标签时触发 index: 点击了第几个tab,索引从0开始() => void

Tabs Slots

插槽名说明
left自定义左侧
right自定义右侧