vue列表的单独展开收起和全部展开收起

5 篇文章 0 订阅
1 篇文章 0 订阅

效果如下

列表的展开收起

html代码

   <div class="content1" v-for="(item, index) in list" :key="index">
            <img  class="icon-left info-box" src="~@/assets/images/icon_li2@2x.png" />
        <div class="info-box flex flex-col build_name">{{ item.build_name}}</div>
          <img class="back_right_icon" @click="check(index)" :ref="'icon'+index" :style="{display: isOpen?'block':'none'}" src="~@/assets/images/back_Arrow_down@2x.png" />
           <img class="back_right_icon"  @click="check(index)" :ref="'icon2'+index" :style="{display: !isOpen?'block':'none'}" src="~@/assets/images/back_Arrow_up@2x.png" />
          <div  class="content_box"  :ref="'icon3'+index" :style="{display:isOpen?'flex':'none'}" >
          <div  class="content_span" v-for="(item1, ind) in item.roomList" :key="ind">
                <span v-if="item1.status_cd=='0'" style="color:#666666;background-color: #F5F5F5;" @click="goDecorationPatrol(item1.serv_code,item1.declare_id)">{{item1.room_num}}</span>
                 <span v-if="item1.status_cd=='1'" style="color:#FC5051 ;background-color: #FFF0F0;" @click="goPatrolRecord(item1.serv_code,item1.declare_id)">{{item1.room_num}}<p>待整改</p></span>
                  <span v-if="item1.status_cd=='2'" style="color:#00BA61 ;background-color: #DCF9F0;" @click="goDecorationPatrol(item1.serv_code,item1.declare_id)">{{item1.room_num}}</span>
           </div>
          </div>
       </div>

单击方法

 check(index){
        const first='icon'+index,
            next='icon2'+index,
            last='icon3'+index
       if(this.$refs[`${last}`][0].style.display=='none'){
        this.$refs[`${first}`][0].style.display='block'
        this.$refs[`${next}`][0].style.display='none'
        this.$refs[`${last}`][0].style.display='flex'
       }else{
        this.$refs[`${first}`][0].style.display='none'
        this.$refs[`${next}`][0].style.display='block'
        this.$refs[`${last}`][0].style.display='none'
       }  
    },

全部切换方法

html代码


      <div class="switch_button" @click="isOpen_msg()" v-if="list.length">
             <img class="switch_img" v-if="isOpen" src="~@/assets/images/icon_sc2@2x.png" />
             <img class="switch_img" v-if="!isOpen" src="~@/assets/images/icon_zk@2x.png">
      </div>

方法

  isOpen_msg(){
        this.isOpen=!this.isOpen
    }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Doraemen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值