微信小程序之多列表的显示和隐藏功能【附源码】
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了微信小程序之多列表的显示和隐藏功能【附源码】,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2683字,纯文字阅读大概需要4分钟。
内容图文
![微信小程序之多列表的显示和隐藏功能【附源码】](/upload/InfoBanner/zyjiaocheng/337/2527ed60c033417fad7abbd13adb1925.jpg)
今天在项目碰到一个问题,之前在项目首页实现单列表的显示和隐藏,通过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源码地址:小程序显示和隐藏
总结
以上所述是小编给大家介绍的微信小程序之多列表的显示和隐藏功能【附源码】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
内容总结
以上是互联网集市为您收集整理的微信小程序之多列表的显示和隐藏功能【附源码】全部内容,希望文章能够帮你解决微信小程序之多列表的显示和隐藏功能【附源码】所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。