微信小程序之多列表的显示和隐藏功能【附源码】
2018-08-06 09:55
791 查看
今天在项目碰到一个问题,之前在项目首页实现单列表的显示和隐藏,通过wx:if判断就可实现,现在要实现多列表的单项显示和隐藏功能应该如何实现呢?如果还用wx:if实现的话会出现点击一个列表项,多个列表同时显示和隐藏,明显不适合功能需求,然后简单地查了资料也没发现有类似的功能,最后思考一番后,慢慢地理清了思路...
效果图:
实现思路:
- 实现单个列表的显示和隐藏应该使用唯一元素让程序知道你应该显示和隐藏哪个列表项,可以用数据的id;
- css中定义一个hidden{display:none}控制显示和隐藏,然后通过三元运算符来判断;
- wxml定义一个点击事件来动态修改这个列表项的变量值。
功能实现:
好了,思路有了,就开始按照思路来用代码验证。果不其然,使用代码实现之后,发现自己的思路还是没错的。此功能点也可以应用到其它类似的列表的显示和隐藏中。
示例代码:
<!--pages/myOrder/myOrder.wxml--> <view class='container'> <!-- 订单列表 --> <block wx:for-items="{{carInfoData}}"> <view class='card b-shadow' bindtap='toggleBtn' id="{{item.id}}"> <view class='nearCard-fl'> <image src='{{item.imgurl}}'></image> </view> <view class='nearCard-fr'> <view>日期: <text class='c-green'>{{item.useDate}}</text> </view> <view>车型: <text class='c-green'>{{item.cx}}</text> </view> <view>时长: <text class='c-green'>{{item.time}}</text> </view> <view>费用: <text class='c-green'>{{item.feiyong}}</text> </view> </view> <view class='down clearfix {{uhide==item.id?"":"hidden"}}'> <view class='ml30'>启用时间:2018.01.01 11:33</view> <view class='ml30'>结束时间:2018.01.01 11:33</view> <view class='ml30'>租赁地区:舟山市桃花岛景区海湾浪琴</view> <view class='feedBack'>意见反馈</view> </view> </view> </block> </view> // pages/myOrder/myOrder.js Page({ /** * 页面的初始数据 */ data: { uhide: 0 }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { var that = this; var data = { "datas": [ { "id": 1, "imgurl": "../../images/car.png", "useDate": "2017-12-22", "cx": "奇瑞EQ1", "time": "1小时", "feiyong": "20元" }, { "id": 2, "imgurl": "../../images/car.png", "useDate": "2017-12-22", "cx": "奇瑞EQ1", "time": "1小时", "feiyong": "20元" }, { "id": 3, "imgurl": "../../images/car.png", "useDate": "2017-12-22", "cx": "奇瑞EQ1", "time": "1小时", "feiyong": "20元" }, { "id": 4, "imgurl": "../../images/car.png", "useDate": "2017-12-22", "cx": "奇瑞EQ1", "time": "1小时", "feiyong": "20元" } ] }; //console.log(data.datas); //设置车辆展示信息 that.setData({ carInfoData: data.datas }) }, //点击切换隐藏和显示 toggleBtn: function (event) { var that = this; var toggleBtnVal = that.data.uhide; var itemId = event.currentTarget.id; if (toggleBtnVal == itemId) { that.setData({ uhide: 0 }) } else { that.setData({ uhide: itemId }) } } })
GitHub源码地址:小程序显示和隐藏
总结
以上所述是小编给大家介绍的微信小程序之多列表的显示和隐藏功能【附源码】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章:
相关文章推荐
- 微信小程序显示下拉列表功能【附源码下载】
- 微信小程序开发之radio实现显示和隐藏功能
- 微信小程序:隐藏和显示功能
- 微信小程序开发之radio实现显示和隐藏功能 原创 2017年07月04日 20:33:07 标签: 前端开发 / 微信 我们在开发微信小程序的时候,经常会用到显示和隐藏,
- 微信小程序使用radio显示单选项功能【附源码下载】
- 微信小程序实践之动态控制组件的显示/隐藏功能
- 微信小程序使用progress组件实现显示进度功能【附源码下载】
- 微信小程序使用checkbox显示多项选择框功能【附源码下载】
- 微信小程序自定义导航隐藏和显示功能
- 微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
- 微信小程序中的canvas 文字断行和省略号显示功能的处理方法
- 微信小程序左滑动显示菜单功能的实现
- 小程序之显示 隐藏功能(二)
- 微信小程序项目总结之点赞 删除列表 分享功能
- 微信小程序使用picker实现时间和日期选择框功能【附源码下载】
- 微信小程序实现的涂鸦功能示例【附源码下载】
- Android应用隐藏在所有程序列表内显示图标
- 微信小程序使用video组件播放视频功能示例【附源码下载】
- 微信小程序使用audio组件播放音乐功能示例【附源码下载】
- 微信小程序实现action-sheet弹出底部菜单功能【附源码下载】