本文实例为大家分享了微信小程序实现列表条件筛选的具体代码,供大家参考,具体内容如下
最近一个旅游项目,关于筛选框的代码
wxml文件
<view class='chooseList'> ? ? ? <view class="nav"> ? ? <view class="nav-son {{shownavindex == 1? 'active' : ''}}" bindtap="listqy" data-nav="1"> ? ? ? <view class="content">酒店类型</view> ? ? ? <view class="icon"></view> ? ? </view> ? ? <view class="nav-son borders {{shownavindex == 2? 'active' : ''}}" bindtap="list" data-nav="2"> ? ? ? <view class="content">价格</view> ? ? ? <view class="icon"></view> ? ? </view> ? ? <!-- <view class="nav-son {{shownavindex == 3? 'active' : ''}}" bindtap="listpx" data-nav="3"> ? ? ? <view class="content">排序</view> ? ? ? <view class="icon"></view> ? ? </view> --> ? </view> ? ? <view class="quyu {{qyopen ? 'slidown' : 'slidup'}} {{qyshow ? 'disappear':''}}"> ? ? ? <view class="qy quyu-left"> ? ? ? <view class="{{select1 == index ? 'current' : ''}}" wx:for="{{cityleft}}" wx:key='{{item}}' bindtap="selectleft" data-city='{{index}}'> ? ? ? ? {{index}} ? ? ? </view> ? ? </view> ? ? <view class="qy quyu-center"> ? ? ? <view class="{{select2 == index ? 'current2' : ''}}" wx:for="{{citycenter}}" bindtap="selectcenter" data-value='{{item}}' data-city='{{index}}'> ? ? ? ? {{index}} ? ? ? ? <image src='images/istrue.png' style="{{select2 == index?'display:block':'display:none'}}"></image> ? ? ? </view> ? ? ? ? ? ? <!-- 如果选择是早餐,展示筛选按钮 --> ? ? ? ? ? ? <view style="border-style: none;" wx:if='{{isshowradio}}'> ? ? ? ? ? ? ? ? <radio-group class="radio-group" bindchange="radioChange"> ? ? ? ? ? ? ? ? ? ? <label class="radio" wx:for="{{breakfastlist}}"> ? ? ? ? ? ? ? ? ? ? ? ? <radio value="{{item.value}}" checked="{{item.checked}}" /> ? ? ? ? ? ? ? ? ? ? ? ? {{item.value}} ? ? ? ? ? ? ? ? ? ? </label> ? ? ? ? ? ? ? ? </radio-group> ? ? ? ? ? ? </view> ? ? </view> ? ? <view class='form-btn'> ? ? ? <button class='btn-reset' bindtap='quyuEmpty'>重置</button> ? ? ? <button class='btn-submit' bindtap='submitFilter'>确定</button> ? ? </view> ? </view>
js文件:
点击酒店类型,展示筛选酒店的条件
listqy: function (e) { ? ? ? ? console.log('触发时机---点击酒店类型的时候') ? ? if (this.data.qyopen) { ? ? ? ? ? ? console.log(this.data.qyopen) ? ? ? this.setData({ ? ? ? ? qyopen: false, ? ? ? ? nzopen: false, ? ? ? ? nzshow: true, ? ? ? ? qyshow: false, ? ? ? ? isfull: false, ? ? ? ? shownavindex: 0 ? ? ? }) ? ? } else { ? ? ? this.setData({ ? ? ? ? qyopen: true, ? ? ? ? nzopen: false, ? ? ? ? nzshow: true, ? ? ? ? qyshow: false, ? ? ? ? isfull: true, ? ? ? ? shownavindex: e.currentTarget.dataset.nav ? ? ? }) ? ? } ? },
点击一级菜单,展示对应的二级菜单
selectleft: function (e) { ? ? console.log('用户选中左边菜单栏的索引值是:' + e.target.dataset.city); ? ? ? ? if (e.target.dataset.city === '床型、早餐') { ? ? ? ? ? ? console.log('哈哈') ? ? ? ? ? ? this.setData({ ? ? ? ? ? ? ? ? isshowradio: true // 如果是早餐和床型的话,就让选择早餐的按钮显示 ? ? ? ? ? ? }) ? ? ? ? } else { ? ? ? ? ? ? this.setData({ ? ? ? ? ? ? ? ? isshowradio: false ? ? ? ? ? ? }) ? ? ? ? } ? ? this.setData({ ? ? ? citycenter: this.data.cityleft[e.currentTarget.dataset.city], ? ? ? select1: e.target.dataset.city, ? ? ? select2: '' ? ? }); ? },
点击二级菜单
selectcenter: function (e) { ? ? ? ? console.log(e.target.dataset.value) ? ? ? ? console.log('用户选中右边边菜单栏的索引值是:' + e.target.dataset.value, this.data.select1); ? ? ? ? let _this = this ? ? ? ? if (_this.data.select1 === '酒店类型') { ? ? ? ? ? ? _this.data.type = e.target.dataset.city ? ? ? ? ? ? console.log(_this.data.type) ? ? ? ? } ? ? ? ? if (_this.data.select1 === '设施') { ? ? ? ? ? ? _this.data.facility = e.target.dataset.city ? ? ? ? ? ? console.log(_this.data.facility) ? ? ? ? } ? ? ? ? if (_this.data.select1 === '地理位置') { ? ? ? ? ? ? _this.data.maxdistance = e.target.dataset.value ? ? ? ? ? ? console.log(_this.data.maxdistance) ? ? ? ? } ? ? ? ? if (_this.data.select1 === '床型、早餐') { ? ? ? ? ? ? _this.data.cbedtype = e.target.dataset.city ? ? ? ? ? ? console.log(_this.data.cbedtype) ? ? ? ? } ? ? this.setData({ ? ? ? select2: e.target.dataset.city ? ? }); ? },
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did123913