<!-- 下拉框 -->
<view class='select_box'>
<view class='select' catchtap='selectTap'>
<text class='select_text'>{{selectData[index]}}</text>
<image class='words_img' src='../../images/dv.png'></image>
<image class='select_img {{show&&"select_img_rotate"}}' src='/image/gobottom.png'></image>
</view>
<view class='option_box' style='height:{{show?(selectData.length>5?300:selectData.length*60):0}}rpx;'>
<text class='option' style='{{index==selectData.length-1&&"border:0;"}}' wx:for='{{selectData}}' wx:key='this' data-index='{{index}}' catchtap='optionTap'>{{item}}</text>
</view>
</view>
data{
show: false, //控制下拉列表的显示隐藏,false隐藏、true显示
selectData: ['消费账户', '平台返利账户', '微信钱包'], //下拉列表的数据
index: 0, //选择的下拉列 表下标,
}
// 点击下拉显示框
selectTap() {
this.setData({
show: !this.data.show,
});
},
// 点击下拉列表
optionTap(e) {
let Index = e.currentTarget.dataset.index; //获取点击的下拉列表的下标
this.setData({
index: Index,
show: !this.data.show
});
},
.select_box {
background: #fff;
width: 620rpx;
margin: 0 auto;
margin-top: 40rpx;
height: 86rpx;
line-height: 86rpx;
text-align: left;
position: relative;
}
.select {
box-sizing: border-box;
width: 100%;
height: 86rpx;
border: 1px solid #efefef;
border-radius: 8rpx;
display: flex;
align-items: center;
padding: 0 20rpx;
}
.select_text {
font-size: 28rpx;
flex: 1;
color: rgb(102, 102, 102);
line-height: 86rpx;
height: 86rpx;
}
.select_img {
width: 40rpx;
height: 40rpx;
display: block;
transition: transform 0.3s;
}
.select_img_rotate {
transform: rotate(180deg);
}
.option_box {
position: absolute;
top: 86rpx;
width: 100%;
border: 1px solid #efefef;
box-sizing: border-box;
height: 0;
overflow-y: auto;
border-top: 0;
background: #fff;
transition: height 0.3s;
}
.option {
display: block;
line-height: 40rpx;
font-size: 28rpx;
border-bottom: 1px solid #efefef;
padding: 10rpx;
color: rgb(102, 102, 102);
font-size: 28rpx;
}