vue 頁面渲染是,根據是否在數組里,判斷是否顯示


最近做項目,遇到一個問題,需要根據是否在數組里,判斷是否渲染出來

這是一個多選的實現

// multiSelect == 1 為多選
<ul class="q-main-t" v-if="item.multiSelect == 1">
     <li v-for="(subitem,subindex) in item.quectionList" :key="subindex"  @click="choiseItem(subindex)">
             <img class="info-img" :src="subitem.img" />
             <p>
                 <img v-if="multiAnswer.includes(subindex)" src="img/checked.png">
              <img v-else src="img/check.png" />
                 <span>{{subitem.text}}</span>
            </p>
     </li>
</ul>

在choiseItem方法里面subindex為當前選項的index;

choiseItem方法如下:

if(this.multiAnswer.includes(subindex)){
    this.multiAnswer = this.multiAnswer.filter(function (ele){return ele != subindex;});
}else{
    this.multiAnswer.push(subindex);
}

this.multiAnswer為已選擇的答案集合

根據選中狀態判斷顯示哪張圖片,

如果multiAnswer里包含當前選項的index值,就顯示選中的圖片checked.png      multiAnswer.includes(subindex)。

否則用未選中的圖片check.png

 


免責聲明!

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



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