使用Vue中 v-for循環列表控制按鈕隱藏顯示功能

這篇文章主要介紹了使用Vue中 v-for循環列表控制按鈕隱藏顯示功能,需要的朋友可以參考下

v-for可以把數據中的一個數組對應爲一組元素

v-for 指令需要以 item in items 形式的特殊語法, items 是源數據數組並且 item 是數組元素迭代的別名。

- 實現效果如圖

這裏寫圖片描述

需求描述:

第一個顯示藍色按鈕,代表數據最終狀態;其餘按鈕爲灰色,顯示數據流轉記錄。

返回的數據類型

這裏寫圖片描述

前端頁面代碼

<div class="leftProcessBox">
   <div class="leftProcess" v-for="(listLZPar,index) in listLZParams" v-show="listLZPar.operate_type!=''">
     <div class="process">
       <div class="processPointLine">
         <div class="processPoint">
           <i class="ico iconfont icon-circleyuanquan iconCircle " v-show="index==0"></i>
           <i class="ico iconfont icon-yuan iconCircle" v-show="index!=0"></i>
           <div class="characterInfo">{{listLZPar.operate_type | operatertypeToName}}</div>
         </div>
         <div class="processLine" v-show="!(index == listLZParams.length-1)">
         </div>
       </div>
     </div>
   </div>
 </div>

PS:vue裏面如何讓v-for循環出來的列表裏面的列表click事件只對當前列表有效

<li @click="show">
  <span>1</span>
</li>
<li @click="show">
   <span>1</span>
</li>
<li @click="show">
   <span>1</span>
</li>

li點擊只讓當前的 li 下面的span 隱藏

方法一:用vue就儘量遵從數據驅動的想法,實現這個的方法很多,但是儘量不要直接去操作dom。

<div id="app">
 <ul>
  <li v-for="list in lists" @click="show($index)">
   <span v-show="$index !== i">{{ list }}</span>
  </li>
 </ul>
</div>
<script>
new Vue({
 el: '#app',
 data: {
  lists: [1, 1, 1],
  i: -1 
 },
 methods: {
  show (index) {
   this.i = index
  }
 }
})
</script>

方法2:

<ul id="app">
 <li v-for='item in items' @click="toggle(item)">
  <span v-if='item.show'>{{item.content}}</span>
 </li>
</ul>
new Vue({
 el: '#app',
 data: function() {
  return {
   items: [{
    content: '1 item',
    show: true
   }, {
    content: '2 item',
    show: true
   }, {
    content: '3 item',
    show: true
   }]
  }
 },
 methods: {
  toggle: function(item) {
      item.show = !item.show;
  }
 }
})

總結

以上所述是小編給大家介紹的使用Vue中 v-for循環列表控制按鈕隱藏顯示功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回覆大家的!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章