vue 二级列表折叠面板

这篇博客介绍了如何使用Vue.js来动态控制一级菜单下的二级列表显示隐藏。通过`v-for`指令遍历数据并结合`v-show`属性,实现了点击一级菜单时显示对应的二级价格列表,并计算每个一级菜单的最低价格。代码中使用了Vue的`$set`方法为对象添加`isShow`属性以控制显示状态,以及`lowprice`属性记录最低价格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

data(){
   return {
       info: [
     {name:'一级菜单1',lists:[{price:1},{price:2}]},
     {name:'一级菜单2',lists:[{price:1},{price:2}]},
     {name:'一级菜单3',lists:[{price:1},{price:2}]}
    ]
    }
}
<div v-for="item in info">
     <div @click="toggle(item)">{{item.name}}  {{item.lowprice}}</div>
     <ul v-show="item.isShow">
       <li v-for="list in item.lists">{{list.price}}</li>
    </ul>
</div>

点击显示隐藏二级列表

this.info.forEach(i=>{
          // console.log(i)
          // 给对象加一个true/false的属性,控制下级列表的显示隐藏
          i.isShow=== undefined? this.$set(i,'isShow',false) : i.isShow= false;

          // 这个属性是在一级列表显示下级列表中的最低价
          i.lowprice === undefined? this.$set(i,'lowprice',0):i.lowprice = 0;
          i.lists.forEach(j=>{
          if(j.price<i.lists[0].price){
                    i.lowprice = j.Price;
          }else{
             i.lowprice =  i.PriceList[0].Price;
          }
       })
  }) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值