vue动态设置盒子的高度,设置v-for循环出来的盒子的高度

最近有一个功能需求是点击某个循环出来的按钮,使当前点击的这个盒子的高度变高,以显示更多内容

在这里插入图片描述
这四个盒子就是后台传来的数据,v-for出来的

问题:如何点击当前盒子中的查看更多按钮,只改变当前盒子的高度,并且不影响其他盒子的高度

方法:1.动态往后台返回的数组中的每一个对象添加一个属性,在mounted里面设置

mounted() {
    this.machineList.forEach((item) => {
      //动态向machineList中每个对象添加autoHeight属性 
      this.$set(item, "autoHeight", "1.8rem");
    });
  },

2.给每一个查看更多的按钮添加点击事件并且传入参数,参数为当前盒子的index值

 		<img
            src="../assets/orderManage/btn_chakangengduo2@2x.png"
            alt=""
            class="see-more"
            @click="seeMore(index)"
          />

3.编写切换高度的函数1.8rem为初始高度,5rem为你希望点击后的高度,index为了确定你当前点击的是哪个盒子

methods: {
    seeMore(i) {
      if (this.machineList[i].autoHeight == "1.8rem") {
        this.machineList[i].autoHeight = "5rem";
      } else {
        this.machineList[i].autoHeight = "1.8rem";
      }
    },
  },

请添加图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值