(微信小程序)多个下拉列表的点击实现

本文介绍如何在微信小程序中实现多个下拉列表的点击切换效果。通过使用`bindtap`事件绑定`toggleList`函数,结合WXML和WXSS实现列表的隐藏与显示。对于列表高度变化的动画效果,建议使用JS计算动态设置高度,以避免`max-height`动画的延迟问题。读者可以在此基础上进行进一步的创新和优化。
摘要由CSDN通过智能技术生成

假设有一个btn ----> 用来切换列表隐藏与显示.  让这个btn的bindtap="toggleList".  // toggleList为这个效果的函数.

// js文件
Page({

  /**
   * 页面的初始数据
   */
  data: {
    listShow: {}
  },

  /*下拉列表按钮函数*/
  toggleList: function (e) {
    let obj = this.data.listShow;
    // 获取当前鼠标点击的下拉列表的index.
    let index = e.currentTarget.dataset.index;
    // 如果对象里存在这个index的属性就切换它的show, 不存在添加index属性并设置它的show
    if (obj[index]) {
      obj[index].show = !this.data.listShow[index].show;
    } else {
      obj[index] = {};
      obj[index].show = true;
      // listHeight的作用主要为下拉动画效果做准备, 从0到70的动画过度. 
      obj[index].listHeight = "70px";
    }
    this.setData({
      listShow: obj
    });
  }

})

 

 wxml:  按钮就不展示了, 自个个性实现.  无非就是写个button 然后bindtap="toggleList" data-index="{ {index}}"就行, 这里的{ {index}}为wx:for里面的index。 下拉列表的组件如下: 


                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值