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

 更新时间:2020年07月29日 14:51:14   作者:caroline_chen_CC  
这篇文章主要为大家详细介绍了小程序实现列表展开收起效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

效果:

原理:利用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>

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

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

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

相关文章

  • Bootstrap 表单验证formValidation 实现表单动态验证功能

    Bootstrap 表单验证formValidation 实现表单动态验证功能

    这篇文章主要介绍了Bootstrap 表单验证formValidation 实现表单动态验证功能,需要的朋友可以参考下
    2017-05-05
  • JS判断浏览器是否支持某一个CSS3属性的方法

    JS判断浏览器是否支持某一个CSS3属性的方法

    css3表现冲击最大的就是动画了,因此很有必要去事先判断浏览器是否支持,写CSS3动画库就只有部分浏览器支持
    2014-10-10
  • javascript中一些数组常用的API总结

    javascript中一些数组常用的API总结

    Js中数组是一个重要的数据结构,它相比于字符串有更多的方法,本篇文章总结了一些数组中常用的API,我们把它们分成两类,一类是会改变原始数组,一类是不会改变原始数组,感兴趣的小伙伴可以学习一下
    2023-09-09
  • TypeScript学习之强制类型的转换

    TypeScript学习之强制类型的转换

    众所周知TypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程,下面这篇文章主要介绍了TypeScript中强制类型的转换,需要的朋友可以参考借鉴下。
    2016-12-12
  • 纯javascript响应式树形菜单效果

    纯javascript响应式树形菜单效果

    这篇文章主要为大家分享了纯javascript响应式树形菜单效果的简单教程,对多级目录树形菜单感兴趣的小伙伴们可以参考一下
    2015-11-11
  • 三步实现ionic3点击退出app程序

    三步实现ionic3点击退出app程序

    这篇文章主要为大家详细介绍了三步实现ionic3点击退出app程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • js中如何对嵌套数组进行filter过滤

    js中如何对嵌套数组进行filter过滤

    这篇文章主要介绍了js中如何对嵌套数组进行filter过滤问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 用javascrpt将指定网页保存为Excel的代码

    用javascrpt将指定网页保存为Excel的代码

    这段代码在服务器中没有权限,可以保存在本地,存为htm文件,运行即可,就可以把文本内容存为excel文件了
    2008-01-01
  • js实现简单的倒计时

    js实现简单的倒计时

    这篇文章主要为大家详细介绍了js实现简单的倒计时,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • 如何减少浏览器的reflow和repaint

    如何减少浏览器的reflow和repaint

    本文主要是结合自己的一些项目经验,给大家提出了几点减少浏览器reflow和repaint的方法和注意事项,希望对大家能有所帮助。
    2015-02-02

最新评论