vue v-for循環里面點擊當前元素顯示再點擊隱藏


<li v-for="(list,index) in getTableData(currentPage)" :key="index">
              <div class="popup-msg-div">
                <div class="msg-div-add">{{list.detail_address}}</div>
                <div>{{list.serial_number}}</div>
                <div>{{list.createtime}}</div>
                <div class="msg-div-add">{{list.warn_desc}}</div>
                <div class="popup-msg-more" @click="msgShow(index)">查看詳情</div>
              </div>
              <div class="msg-box" v-show="activeIndex===index">
                <div class="msg-box-tit popup-msg-tit ">
                  異常詳情
                  <div class="popup-box-close" @click="msgClose(index)">收起<b>︽</b></div>
                </div>
                <div class="msg-div">
                  <div>異常原因</div>
                  <div>推送時間</div>
                  <div>推送人員</div>
                </div>
                <div class="msg-div" v-for="item in list.detailList">
                  <div>{{item.warn_desc}}</div>
                  <div>{{item.createtime}}</div>
                  <div>{{item.ctrl_name}}:{{item.ctrl_phone}}</div>
                </div>
              </div>
            </li>
 data() {
    return {
      activeIndex: -1 
    };
  },

試下傳不同的參數?

<div class="popup-msg-more" @click="msgShow(index)">查看詳情</div>
msgShow (index) {
      this.activeIndex = this.activeIndex == index ? -1 : index;
},

先遍歷,給getTableData這個數組每一項添加一個isShowDetail: false
<div class="popup-msg-more" @click="msgShow(list,index)">查看詳情</div>

<div class="msg-box" v-show="list.isShowDetail">

methods:{
    msgShow (list,index) {
        list.isShowDetail = !list.isShowDetail;
    },
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM