小程序实现列表展开收起效果


Posted in Javascript onJuly 29, 2020

本文实例为大家分享了小程序实现列表展开收起的具体代码,供大家参考,具体内容如下

效果:

小程序实现列表展开收起效果

原理:利用AppData值 + 显示隐藏的样式,进行展开收起。

wxml:

<view bindtap="toChange" data-show='isShow'>{{isShow?'收起':'展开'}}<view>
<view class="{{isShow?'db' : 'dn'}}">这是你要收起展开的内容</view>

js:

Page({\
  data: {
  isShow: true, //true为展开
  },
  /*
  * isShow做取反操作
  * */
  toChange (e) {
  let that = this;
  let name = e.currentTarget.dataset.show;
  let param = {};
  param[name] = !that.data[name];
  that.setData({
   ...param
  })
  },
 })

wxss:

.db{
 display:block;
}
.dn{
 display:none;
}

这个原理其实够正常的收起展开了,但是碰上列表,还需要调整一下,那么问题来了,如何让小程序列表中展示明细?

列表效果:

小程序实现列表展开收起效果

想法:利用AppData值 + 显示隐藏的样式,进行展开收起。还要加上“数据污染”。

js:

page({
data:{
 list:[{id:1},{id:2}],
},
toShowItem(e) {
 let that = this;
 let id = e.currentTarget.dataset.id,
  show = e.currentTarget.dataset.show;
 that.data.list.forEach(function (v) {
  if (v.id == id) {
  v.show = !show;//这里污染原始数组数据
  }
 })
 //利用污染,对列表设置值
 this.setData({
  list: this.data.list
 })
 }
})

wxml:

<view wx:for="{{list}}" wx:key="{{index}}" wx:for-item="item">
 <view bindtap="toShowItem" data-id='{{item.id}}' data-show='{{item.show}}'>
  <text>{{item.show?'收起明细':'明细'}}</text>
 </view>
 <view class="{{item.show ? 'db' : 'dn'}}">
  这里是你展开收起的内容
 </view>
</view>

这里只是分享一个想法,要是想用直接粘贴,是达不到效果图的效果的,毕竟不是所有的样式都放上来了。

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE6下JS动态设置图片src地址问题
Jan 08 Javascript
JQuery boxy插件在IE中边角图片不显示问题的解决
May 20 Javascript
Backbone.js框架中简单的View视图编写学习笔记
Feb 14 Javascript
JavaScript利用HTML DOM进行文档操作的方法
Mar 28 Javascript
seajs学习教程之基础篇
Oct 20 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
Sep 25 Javascript
使用vue2.0创建的项目的步骤方法
Sep 25 Javascript
tracking.js页面人脸识别插件使用方法
Apr 16 Javascript
vue使用Google地图的实现示例代码
Dec 19 Javascript
微信小程序实现的图片保存功能示例
Apr 24 Javascript
使用layui的layer组件做弹出层的例子
Sep 27 Javascript
详解React路由传参方法汇总记录
Nov 29 Javascript
jquery实现简单自动轮播图效果
Jul 29 #jQuery
解决vue-photo-preview 异步图片放大失效的问题
Jul 29 #Javascript
vue 组件间的通信之子组件向父组件传值的方式
Jul 29 #Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
Jul 29 #Javascript
vuex管理状态仓库使用详解
Jul 29 #Javascript
解决vue项目获取dom元素宽高总是不准确问题
Jul 29 #Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 29 #Javascript
You might like
SONY ICF-SW7600的电路分析
2021/03/02 无线电
PHP strtotime函数详解
2009/12/18 PHP
jquery ajax中使用jsonp的限制解决方法
2013/11/22 Javascript
jquery 淡入淡出效果的简单实现
2014/02/07 Javascript
JavaScript获取图片的原始尺寸以宽度为例
2014/05/04 Javascript
在JavaScript中用getMinutes()方法返回指定的分时刻
2015/06/10 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
nodejs mysql 实现分页的方法
2017/06/06 NodeJs
浅谈Vuejs中nextTick()异步更新队列源码解析
2017/12/31 Javascript
JS非行间样式获取函数的实例代码
2018/06/05 Javascript
webpack4 入门最简单的例子介绍
2018/09/05 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
vue项目中使用particles实现粒子背景效果及遇到的坑(按钮没有点击响应)
2020/02/11 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
python 基础学习第二弹 类属性和实例属性
2012/08/27 Python
Python爬虫包 BeautifulSoup  递归抓取实例详解
2017/01/28 Python
Python3中类、模块、错误与异常、文件的简易教程
2017/11/20 Python
matplotlib设置legend图例代码示例
2017/12/19 Python
python3.4实现邮件发送功能
2018/05/28 Python
Python中is和==的区别详解
2018/11/15 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
Python拆分大型CSV文件代码实例
2019/10/07 Python
python处理excel绘制雷达图
2019/10/18 Python
wxPython色环电阻计算器
2019/11/18 Python
Python中bisect的用法及示例详解
2020/07/20 Python
在购买印度民族服饰:Soch
2020/09/15 全球购物
校园安全广播稿
2014/02/08 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
车辆年审委托书范本
2014/09/18 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
Python合并多张图片成PDF
2021/06/09 Python
如何利用React实现图片识别App
2022/02/18 Javascript
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫
解决vue中provide inject的响应式监听
2022/04/19 Vue.js
GoFrame框架数据校验之校验结果Error接口对象
2022/06/21 Golang