赞
踩
要实现微信小程序中的折叠功能,可以使用wx:if
或hidden
属性来控制列表的显示与隐藏。同时,可以使用icon
组件来添加指示箭头。
首先,在wxml文件中创建两个List列表,使用一个变量来控制列表的显示与隐藏:
<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文件中,添加点击事件的处理函数,用来切换列表的显示与隐藏:
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文件中,可以自定义列表的样式和指示箭头的样式:
.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; }
这样就实现了一个带折叠功能的微信小程序列表,点击列表的标题即可展开或折叠对应的内容,同时指示箭头也会根据展开或折叠状态进行变化。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。