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

要实现微信小程序中的折叠功能,可以使用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;
}

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

相关推荐
计算机程序设计小李同学10 小时前
婚纱摄影集成管理系统小程序
java·vue.js·spring boot·后端·微信小程序·小程序
幽络源小助理14 小时前
SpringBoot+小程序高校素拓分管理系统源码 – 幽络源免费分享
spring boot·后端·小程序
Mr -老鬼14 小时前
移动端跨平台适配技术框架:从发展到展望
android·ios·小程序·uni-app
内存不泄露15 小时前
棋牌预约小程序系统论文
小程序
计算机徐师兄17 小时前
Java基于微信小程序的食堂线上预约点餐系统【附源码、文档说明】
java·微信小程序·食堂线上预约点餐系统小程序·食堂线上预约点餐微信小程序·java食堂线上预约点餐小程序·食堂线上预约点餐小程序·食堂线上预约点餐系统微信小程序
说私域1 天前
短视频私域流量池的变现路径创新:基于AI智能名片链动2+1模式S2B2C商城小程序的实践研究
大数据·人工智能·小程序
毕设源码-邱学长1 天前
【开题答辩全过程】以 基于微信小程序的松辽律所咨询系统的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
+VX:Fegn08952 天前
计算机毕业设计|基于springboot + vue物流配送中心信息化管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·小程序·课程设计
说私域2 天前
B站内容生态下的私域流量运营创新:基于AI智能名片链动2+1模式与S2B2C商城小程序的融合实践
人工智能·小程序·流量运营
计算机毕设指导62 天前
基于微信小程序的钓鱼论坛系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·tomcat·maven