文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2024-04-02 19:55

关注

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

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

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

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

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯