微信小程序手动实现select下拉框选择

在小程序中没有像h5中的下拉 标签的

picker又满足部了,那就自己动手写

<view class='list-msg'>
    <view class='list-msg1'>
        <text>商品金额</text>
        <text>¥99.00</text>
    </view>
<!--下拉框  -->
    <view class='list-msg2' bindtap='bindShowMsg'>
        <text>{{tihuoWay}}</text>
        <image style='height:20rpx;width:20rpx;' src='/images/down.png'></image>
    </view>
    <view class='list-msg1'>
        <text>运费</text>
        <text></text>免邮</view>
    <view class='list-msg1'>
        <text>实际付款</text>
        <text style='color:red'>¥99.00</text>
    </view>
<!-- 下拉需要显示的列表 -->
    <view class="select_box" wx:if="{{select}}">
        <view class="select_one" bindtap="mySelect" data-name="重庆">重庆</view>
        <view class="select_one" bindtap="mySelect" data-name="东莞">东莞</view>
        <view class="select_one" bindtap="mySelect" data-name="广州">广州</view>


</view>
Page({

    data: {
        select: false,
        tihuoWay: '自提'
    },

    bindShowMsg() {
         this.setData({
             select:!this.data.select
         })
    },
    mySelect(e) {
        var name = e.currentTarget.dataset.name
        this.setData({
            tihuoWay: name,
            select: false
        })
    },

})
 
.list-msg {
    padding: 0 20rpx;
    background-color: #fff;
    position: relative;
}
 
.list-msg1 {
    height: 60rpx;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
 
.list-msg .list-msg2 {
    height: 60rpx;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #ccc;
    padding: 0 10rpx;
}
 
.select_box {
    background-color: #eee;
    padding: 0 10rpx;
    width: 93%;
    position: absolute;
    top: 130rpx;
    z-index: 1;
    overflow: hidden;
    animation: myfirst 0.5s;
}
 
@keyframes myfirst {
    from {
        height: 0rpx;
    }
 
    to {
        height: 210rpx;
    }
}
 
.select_one {
    height: 60rpx;
    line-height: 60rpx;
    border-bottom: 1px solid #ccc;
}

猜你喜欢

转载自www.cnblogs.com/ll15888/p/11773221.html
今日推荐