微信小程序下拉框(筛选)

wxml页面:   

//主要:



<view class="sort-list">
<view class="sort" bindtap="changeBoxBtn" data-num="0">
全部
<image src="../../images/down.png"style="width:8px;height:8px;"></image>
</view>
<view class="sort" bindtap="changeBoxBtn" data-num="1"> 附近
<image src="../../images/down.png"style="width:9px;height:9px;"></image>
</view>
<view class="sort" bindtap="changeBoxBtn" data-num="2"> 智能排序
<image src="../../images/down.png"style="width:9px;height:9px;"></image>
</view>
<view class="sort" bindtap="changeBoxBtn" data-num="3">
筛选
<image src="../../images/down.png"style="width:9px;height:9px;"></image>
</view>
</view>
//下拉页面:



<!-- 全部 -->
<view class="all-sort-list {{states==0?'all-act':''}}">
<view wx:for="{{all_list}}" class="all-sort" data-index="{{item.num}}">{{item.txt}}</view>
</view>
<!-- 附近 -->
<view class="nearby-sort-list {{states==1?'nearby-act':''}}">
<view>
<view wx:for="{{nearby_list}}" class="nearby-sort" data-index="{{item.num}}">{{item.txt}}</view>
</view>
<view class='nearby-sort-son'>
<view wx:for="{{distance}}">{{item.distances}}</view>
</view>
</view>
<!-- 智能排序 -->
<view class="capacity-sort-list {{states==2?'capacity-act':''}}">
<view wx:for="{{capacity_list}}" class="capacity-sort" data-index="{{item.num}}">{{item.txt}}</view>
</view>
<!-- 筛选 -->
<view class="filterList-box {{states==3?'filter-act':''}}">
<view class="filterList-characteristic-title">用餐时段</view>
<view class="filterList-sort-list">
<view wx:for="{{filterList_list1}}" class="filterList-sort" data-index="{{item.num}}">{{item.time}}</view>
</view>
<view class="filterList-characteristic-title">用餐人数</view>
<view class="filterList-sort-list">
<view wx:for="{{filterList_list2}}" class="filterList-sort" data-index="{{item.num}}">{{item.numbers}}</view>
</view>
<view class="filterList-footer">
<view class="filterList-footer-delect">重置</view>
<view class="filterList-footer-finish">
完成
<view class="filterList-footer-finish-number" hidden="">0 </view>
</view>
</view>
</view>
 

wxss页面:

 

.filterList-sort-list,.all-sort-list,.nearby-sort-son,.nearby-sort-list,.capacity-sort-list,.filterList,.filterList-footer{
background: white;
}
.filterList-sort-list,.all-sort-list,.nearby-sort-son,.nearby-sort-list,.capacity-sort-list{
flex-direction: column;
border-top: 1px solid rgba(0,0,0,0);
display: flex;
}
.filterList-sort,.all-sort,.nearby-sort-son,.nearby-sort,.capacity-sort{
font-size: 25rpx;
height: 70rpx;
line-height: 70rpx;
margin-left: 30rpx;
}
/* ---------------------------------- */
.sort-act{
color: #EB9035;
}
.nearby-sort-list{
position: relative;
min-height:150px;
}
.nearby-sort-son{
position: absolute;
top: 0;
right: 0;
width: 50%;
/* height: 20rem; */
/* background: #eee; */
}
.filterList-sort-list{
display: flex;
align-items: center;
justify-content: center;
flex-direction: row;
padding:0.5rem 0;
padding-right: 30rpx;
}
.filterList-sort{
height: 1.3rem;
width: 20%;
border: 1px solid #333;
display: flex;
align-items: center;
justify-content: center;
border-radius: 6px;
}
.filterList-act{
background: #F5A623;
color: #fff
}
.filterList-box{
padding-top: 1rem;
background: #fff;
}
/* ---------------------------------- */
.sort-list{
justify-content: space-around;
display: flex;
background: white;
width: 100%;
height: 32px;
font-size: 27rpx;
color: #6A6A6A;
align-content: center;
border: 1rpx solid #ECECEC;
align-items: center;
}
.sort{
text-align: center;
/* margin: auto 0; */
height: 100%;
line-height: 30px;
border-right: 1rpx solid #ECECEC;
flex: 1;
}
.sort-active{
color: black;
font-weight: 800;
}
.filterList-characteristic-title{
position: relative;
height: 50rpx;
line-height: 50rpx;
background: #FBFBFB;
font-weight: 400;
padding-left: 30rpx;
}
.filterList-characteristic-title::before,
.filterList-discount-title::before{
content: "";
position: absolute;
left: 0;
top: 15rpx;
display: inline-block;
width: 5rpx;
height: 20rpx;
background: #FED161;
}
.filterList-footer{
height: 90rpx;
display: flex;
}
.filterList-footer-delect{
flex: 1;
font-size: 25rpx;
line-height: 90rpx;
padding-left: 30rpx;
}
.filterList-footer-finish{
display: flex;
justify-content: center;
align-items: center;
text-align: center;
line-height: 90rpx;
font-size: 35rpx;
width: 210rpx;
background: #FFD161;
position: relative;
}
.filterList-footer-finish-number{
height: 30rpx;
width: 30rpx;
line-height: 31rpx;
font-size: 25rpx;
margin-left: 15rpx;
color: #FFD161;
border-radius: 50%;
background: black;
}
.all-sort-list,.nearby-sort-list,.capacity-sort-list,.filterList-box{
display: none;
}
.all-sort-list.all-act,.nearby-sort-list.nearby-act,.capacity-sort-list.capacity-act,.filterList-box.filter-act{
display: block;
}

 

js页面


//获取应用实例
var a = -1;
var b = -1;
var c = -1;
var d = -1;
Page({
    changeBoxBtn: function (e) {
        // console.log(e.target.dataset.num)
        var num = e.target.dataset.num;
        var states=null;
        if (num == 0) {
            states=0;
            a += 1;
            b = -1;
            c = -1;
            d = -1;
            if(a%2 == 1){
                states = 6;
            }
        } else if(num == 1) {
            states = 1;
            a = -1;
            b += 1;
            c = -1;
            d = -1;
            if (b % 2 == 1) {
                states = 6;
            }
        } else if (num == 2) {
            states = 2;
            a = -1;
            b = -1;
            c += 1;
            d = -1;
            if (c % 2 == 1) {
                states = 6;
            }
        } else if (num == 3) {
            states = 3;
            a = -1;
            b = -1;
            c = -1;
            d += 1;
            if (d % 2 == 1) {
                states = 6;
            }
        }
        // console.log(states)

        this.setData({
            states: states
        })
    }
})
 
  • 4
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值