更新记录
1.1.0(2021-04-30) 下载此版本
增加一些配置
1.0.3(2021-04-30) 下载此版本
优化了一些体验
1.0.2(2021-04-28) 下载此版本
体验优化
查看更多平台兼容性
uni-app
Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
---|---|---|---|---|---|---|---|---|
- | - | - | - | √ | × | - | - | - |
微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
---|---|---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | - | - | - | √ | - | - | - |
注意事项
需在插件市场安装[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) |