更新记录

1.1.0(2021-04-30)

增加一些配置

1.0.3(2021-04-30)

优化了一些体验

1.0.2(2021-04-28)

体验优化

查看更多

平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × × × ×

注意事项

需在插件市场安装[stylus编译]插件

必看提示

1、如果使用原生下拉刷新,不想tab栏跟着往下走的话,请设置tabFix属性,详情见下面文档属性说明
2、推荐插槽结合scroll-view使用,使用scroll-view里的下拉刷新
3、请设置任意一个插槽slot的高度,避免当某个插槽为空时手指滑动捕捉不到
4、小程序插件,app-vue应该也没问题,其他端请自行测试
5、此插件内置滑动内容切换,比swiper性能强很多

template

<view class="content">
    <tab 
        v-model="activeKey" 
        :navData="scrollData"
        @change="tabChange"
        @tabClick="tabClick"
    >
        <!-- 
        <scroll-view scroll-y slot="slot-1" style="overflow:auto;height:300rpx">
            1
        </scroll-view>
        <scroll-view scroll-y slot="slot-2" style="overflow:auto;height:300rpx">
            2
        </scroll-view>
        -->
        <!-- AND -->
        <view :slot="item.slot" v-for="(item,key) in scrollData" :key="key">
            <scroll-view scroll-y height="400rpx">
                第{{key+1}}页
            </scroll-view>
        </view>
    </tab>
</view>

script

import tab from '@/components/Mark-Tab/Tab.vue';
export default {
    data() {
        return {
            activeKey:0,
            scrollData:[
                {
                    label:'第一页',
                    slot:'slot-1'
                },
                {
                    label:'第2页',
                    slot:'slot-2'
                },
                {
                    label:'第3页',
                    slot:'slot-3'
                },
                {
                    label:'第4页',
                    slot:'slot-4'
                },
                {
                    label:'第5页',
                    slot:'slot-5'
                },
                {
                    label:'第6页',
                    slot:'slot-6'
                },
                {
                    label:'第7页',
                    slot:'slot-7'
                },
                {
                    label:'第8页',
                    slot:'slot-8'
                }
            ]
        }
    },
    components:{tab},
    methods: {
        tabChange(e){
            console.log(e);
        },
        tabClick(e){
            console.log(e);
        }
    }
}

Attributes

参数 说明 类型 可选值 默认值
v-model 绑定值,选中选项卡的索引 Number —— 0
forceRender 被隐藏时是否渲染插槽结构 Boolean true,false false
navData tab栏值,示例:[{label:'第一页',slot:'插槽名'}] Array —— 必填
scrollThreshold 手指滑动页面触发切换的阈值 Number —— 50
tabFix tab栏是否设置potision:fixed Object {top:'',bottom:'',left:'',right:''} 系统默认
height tab栏高度 String —— 70rpx
background tab栏背景(可设置颜色或图片) String —— transparent
animate 整体动画效果开关 Boolean true,false true
line tab标签下划线样式 Object {color:'',height:'',width:''} 系统默认
font tab标签字体样式 Object {defaultColor:'',defaultSize:'',defaultBackground:'',activeColor:'',activeSize:'',activeBackground:''} 系统默认

Events

事件 说明 返回值
change 标签页改变触发事件 (index,item)
tabClick 点击标签页触发事件 (index,item)

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问