好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

微信小程序实现列表条件筛选

本文实例为大家分享了微信小程序实现列表条件筛选的具体代码,供大家参考,具体内容如下

最近一个旅游项目,关于筛选框的代码

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
? ? });
? },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

查看更多关于微信小程序实现列表条件筛选的详细内容...

  阅读:43次