微信小程序之选项卡的实现方法

微信小程序里没有自带选项卡组件,但是却带有swiper组件,所以,我们便利用swiper来实现选项卡的功能。

先看效果图:

 

 

 

 

 

 

 

 wxml代码:

 1 <view class="swiper-tab">
 2   <view class="swiper-tab-item {{currentTab==0?'active':''}}" data-current="0" bindtap="clickTab">一</view>
 3   <view class="swiper-tab-item {{currentTab==1?'active':''}}" data-current="1" bindtap="clickTab">二</view>
 4   <view class="swiper-tab-item {{currentTab==2?'active':''}}" data-current="2" bindtap="clickTab">三</view>
 5 </view>
 6  
 7 <swiper current="{{currentTab}}" duration="300" bindchange="swiperTab">
 8   <swiper-item><view>第一屏</view></swiper-item>
 9   <swiper-item><view>第二屏</view></swiper-item>
10   <swiper-item><view>第三屏</view></swiper-item>
11 </swiper>
12  

js代码

 1 1
 2 2
 3 3
 4 4
 5 5
 6 6
 7 7
 8 8
 9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
21 21
22 22
23 23
24 24
25 25
26 26
27 27
28 28
29 29
30 30
31 31
32 var app=getApp()
33 Page({
34  data:{
35   currentTab:0
36  },
37  onLoad:function(options){
38   // 页面初始化 options为页面跳转所带来的参数
39  
40  },
41  //滑动切换
42  swiperTab:function( e ){
43   var that=this;
44   that.setData({
45    currentTab:e.detail.current
46   });
47  },
48  //点击切换
49  clickTab: function( e ) { 
50  
51   var that = this; 
52  
53   if( this.data.currentTab === e.target.dataset.current ) { 
54    return false; 
55   } else { 
56    that.setData( { 
57     currentTab: e.target.dataset.current 
58    }) 
59   } 
60  } 
61  
62 })

css代码

 1 1
 2 2
 3 3
 4 4
 5 5
 6 6
 7 7
 8 8
 9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 .swiper-tab{
19   width: 100%;
20   border-bottom: 2rpx solid #ccc;
21   text-align: center;
22   height: 88rpx;
23   line-height: 88rpx;
24   font-weight: bold;
25 }
26 .swiper-tab-item{
27   display: inline-block;
28   width: 33.33%;
29   color:red;
30 }
31 .active{
32   color:aqua;
33   border-bottom: 4rpx solid red;
34 }

 

posted @ 2020-03-17 23:34  我有头盔  阅读(6337)  评论(4编辑  收藏  举报