微信小程序之选项卡

从事前端的同学们一定不会对选项卡陌生,不管是自己原生写的,还是各个UI框架里带的,我想大家都使用过很多选项卡,对选项卡的原理也足够清楚了,下面我们来在微信小程序里实现选项卡的功能。

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

先看效果图:

微信小程序之选项卡_第1张图片
微信小程序之选项卡_第2张图片

实现代码:

页面代码:

<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;
}

你可能感兴趣的:(微信小程序)