微信小程序選項卡功能實現方法

2019-03-09JavaScript4660
  • 詳情內容
  • 留言點評

相信從事前端的同學一定不會對選項卡陌生,不管是自己原生寫的,還是各種UI框架里的組件,我想大家都使用過很多選項卡,對選項卡的原理也足夠清楚了,今天我們則講講微信小程序里選項卡功能的實現。微信小程序里沒有自帶選項卡組件,但是卻帶有swiper組件,所以,我們可以利用swiper來模擬實現選項卡的功能。

先看效果圖:

2017929144525689.png

頁面wxml代碼:

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

wxss代碼:

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


歡迎點評!也可以是問題反饋和建議

支持Ctrl+Enter提交
暫無留言,快搶沙發!
0

真心很贊,必須打賞!嗯,以資鼓勵~

點此打賞

99%看過的人還會看

海南环岛赛彩票奖金