从事前端的同学们一定不会对选项卡陌生,不管是自己原生写的,还是各个UI框架里带的,我想大家都使用过很多选项卡,对选项卡的原理也足够清楚了,下面我们来在微信小程序里实现选项卡的功能。
微信小程序里没有自带选项卡组件,但是却带有swiper组件,所以,我们便利用swiper来实现选项卡的功能。
先看效果图:
实现代码:
页面代码:
<view class="swiper-tab"><view class="swiper-tab-item {{currentTab==0?'active':''}}" data-current="0" bindtap="clickTab">一</view><view class="swiper-tab-item {{currentTab==1?'active':''}}" data-current="1" bindtap="clickTab">二</view><view class="swiper-tab-item {{currentTab==2?'active':''}}" data-current="2" bindtap="clickTab">三</view></view><swiper current="{{currentTab}}" duration="300" bindchange="swiperTab"><swiper-item><view>第一屏</view></swiper-item><swiper-item><view>第二屏</view></swiper-item><swiper-item><view>第三屏</view></swiper-item></swiper>
js代码:
var app=getApp()Page({data:{currentTab:0},onLoad:function(options){// 页面初始化 options为页面跳转所带来的参数},//滑动切换swiperTab:function( e ){var that=this;that.setData({currentTba:e.detail.current});},//点击切换clickTab: function( e ) {var that = this; if( this.data.currentTab === e.target.dataset.current ) { return false; } else { that.setData( { currentTab: e.target.dataset.current }) } } })
css代码:
.swiper-tab{width: 100%;border-bottom: 2rpx solid #ccc;text-align: center;height: 88rpx;line-height: 88rpx;font-weight: bold;}.swiper-tab-item{display: inline-block;width: 33.33%;color:red;}.active{color:aqua;border-bottom: 4rpx solid red;}