微信小程序里沒有自帶選項卡組件,但是卻帶有swiper組件,所以,我們便利用swiper來實現選項卡的功能。
先看效果圖:
實現代碼:
頁面代碼:
1
2
3
4
5
6
7
8
9
10
11
|
<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代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
.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;
}
|