今天早上有人在群里問選項(xiàng)卡這樣的東西怎么實(shí)現(xiàn),很多人給的方案是通過nav去實(shí)現(xiàn),其實(shí)我以前不懂這個怎么做的時(shí)候也用過nav,現(xiàn)在想起來實(shí)在太蠢了。選項(xiàng)卡是web應(yīng)用中常用的一個組件目前的jquery-ui,bootstrap等主流前端框架都實(shí)現(xiàn)了這樣的效果。就是通過點(diǎn)擊一個按鈕顯示對應(yīng)的內(nèi)容,其他的內(nèi)容全部隱藏起來。
使用技術(shù)點(diǎn):
1、使用hidden屬性去控制元素的顯示隱藏(不止這樣一種)。
2、通過點(diǎn)擊按鈕上設(shè)置一個data-index來獲取點(diǎn)擊按鈕的索引(不止這樣一種)。
3、使用setData來修改數(shù)據(jù),刷新視圖。
代碼直接貼出來吧,樣子比較丑自己修飾。
table.js
-
var app = getApp()
-
Page({
-
data: {
-
hiddenContent_0: false,
-
hiddenContent_1: true,
-
hiddenContent_2: true
-
},
-
-
switch_tab: function (e) {
-
var index = e.currentTarget.dataset.index,
-
hiddenContent_0 = true,
-
hiddenContent_1 = true,
-
hiddenContent_2 = true;
-
switch (index) {
-
case '0':
-
hiddenContent_0 = false;
-
break;
-
-
case '1':
-
hiddenContent_1 = false;
-
break;
-
-
case '2':
-
hiddenContent_2 = false;
-
break;
-
}
-
-
this.setData({
-
hiddenContent_0: hiddenContent_0,
-
hiddenContent_1: hiddenContent_1,
-
hiddenContent_2: hiddenContent_2
-
})
-
}
-
})
table.wxml
-
<view class="contianer">
-
<view class="tab">
-
<view class="t_item" hover-class="t_item_hover" bindtap="switch_tab" data-index="0">選項(xiàng)一</view>
-
<view class="t_item" hover-class="t_item_hover" bindtap="switch_tab" data-index="1">選項(xiàng)二</view>
-
<view class="t_item" hover-class="t_item_hover" bindtap="switch_tab" data-index="2">選項(xiàng)三</view>
-
</view>
-
<view class="content">
-
<view class="conent_inner_0" hidden="{{hiddenContent_0}}">
-
選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一 選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一選項(xiàng)一
-
</view>
-
<view class="conent_inner_1" hidden="{{hiddenContent_1}}">
-
選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二選項(xiàng)二
-
</view>
-
<view class="conent_inner_2" hidden="{{hiddenContent_2}}">
-
選項(xiàng)三 選項(xiàng)三 選項(xiàng)三 選項(xiàng)三 選項(xiàng)三 選項(xiàng)三 選項(xiàng)三
-
</view>
-
</view>
-
</view>
table.wxss
-
-
.tab {
-
overflow: hidden;
-
}
-
-
.t_item {
-
float: left;
-
width: 33.33%;
-
line-height: 34px;
-
border-bottom: 1px solid #999;
-
border-top: 1px solid #999;
-
text-align: center;
-
margin-left: -1px;
-
}
-
-
.t_item_hover {
-
background: #ddd;
-
}
-
-
.t_item + .t_item {
-
border-left: 1px solid #999;
-
}
-
-
.content {
-
border-bottom: 1px solid #999;
-
}
-
-
.conent_inner_0, .conent_inner_1, .conent_inner_2 {
-
padding: 10px;
-
background: #ddd;
-
}
效果圖:

|