有关列表折叠展开的问题

     在有列表展开的页面,实现列表展开折叠效果,最常用的就是获取列表的索引值(列表从后台获取数据,利用循环渲染到前端),通过点击事件获取当前的索引值与循环产生的索引值比对,看是否匹配,匹配则展开,否则不展开,或者不匹配索引值,匹配其他关键值也可以,总之就是点击事件获取到的关键值同列表某一项匹配就展开。

     这只是其中一种展示方法,特点是所有列表只有一项是展开的,点击事件触发时只有一项列表与之匹配。如果每个列表点击事件都是独立的,列表展开都是独立的要如何解决呢?

     首先说下原理,其实原理很简单,就是点击事件获取列表项的其中一个属性(例如 对象列表有一个属性叫isShow)通过修改属性值,在渲染到前端时判断属性值条件是否满足折叠或者展示,因为属性是独立设置的因此可以独立点击折叠展开

  在对象列表添加新属性isShow

 tempBox2 = [...tempBox, ...tempLsit].map((item)=>{
          return Object.assign(item,{isShow:false})
        })

渲染到前端时判断isShow的值来展开或者折叠,点击事件修改isShow的值让其折叠或者展开

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值