【微信小程序】实现折叠功能,折叠不同的列表

要实现微信小程序中的折叠功能,可以使用wx:ifhidden属性来控制列表的显示与隐藏。同时,可以使用icon组件来添加指示箭头。

首先,在wxml文件中创建两个List列表,使用一个变量来控制列表的显示与隐藏:

html 复制代码
<view>
  <!-- 列表1 -->
  <view class="list">
    <view class="header" bindtap="toggleList1">
      <text class="title">{{list1Title}}</text>
      <icon class="arrow" type="{{list1Hidden ? 'triangle' : 'triangle-down'}}"></icon>
    </view>
    <view wx:if="{{!list1Hidden}}" class="content">
      <!-- 列表1的内容 -->
    </view>
  </view>
  
  <!-- 列表2 -->
  <view class="list">
    <view class="header" bindtap="toggleList2">
      <text class="title">{{list2Title}}</text>
      <icon class="arrow" type="{{list2Hidden ? 'triangle' : 'triangle-down'}}"></icon>
    </view>
    <view wx:if="{{!list2Hidden}}" class="content">
      <!-- 列表2的内容 -->
    </view>
  </view>
</view>

在js文件中,添加点击事件的处理函数,用来切换列表的显示与隐藏:

javascript 复制代码
Page({
  data: {
    list1Hidden: true,
    list2Hidden: true,
    list1Title: "列表1",
    list2Title: "列表2"
  },
  toggleList1: function () {
    this.setData({
      list1Hidden: !this.data.list1Hidden
    });
  },
  toggleList2: function () {
    this.setData({
      list2Hidden: !this.data.list2Hidden
    });
  }
})

在wxss文件中,可以自定义列表的样式和指示箭头的样式:

css 复制代码
.list {
  background-color: #f5f5f5;
  margin-bottom: 10px;
}

.header {
  display: flex;
  align-items: center;
  padding: 10px;
  background-color: #fff;
}

.title {
  flex: 1;
  font-size: 16px;
}

.arrow {
  font-size: 20px;
  color: #999;
}

这样就实现了一个带折叠功能的微信小程序列表,点击列表的标题即可展开或折叠对应的内容,同时指示箭头也会根据展开或折叠状态进行变化。

相关推荐
绝世唐门三哥11 小时前
uniapp系列-uniappp都有哪些生命周期?
vue.js·小程序·uniapp
人还是要有梦想的14 小时前
如何开发小程序介绍
小程序·notepad++
roamingcode15 小时前
支付宝小程序数据可视化避坑指南:@antv/f2 踩坑与最佳实践
信息可视化·小程序·canvas·antv
2501_9159214317 小时前
HTTP和HTTPS协议全面解析:技术原理与安全应用
安全·http·ios·小程序·https·uni-app·iphone
double_eggm1 天前
微信小程序2
微信小程序·小程序
是江迪呀1 天前
实时看大家都在干嘛?我靠一行监听函数,做了个轻互动小程序
前端·微信小程序
码视野1 天前
课后报名小程序 — 从需求到原型的全栈实践
小程序
打瞌睡的朱尤2 天前
微信小程序1~25
微信小程序·小程序
hnxaoli2 天前
win10小程序(十八)剪切板循环粘贴
python·小程序
拖孩2 天前
我用 AI 搓了一个"比谁更持久"的微信小游戏,AI实现只用了一天,微信审核却用了一个月!!!
微信小程序·ai编程·游戏开发