欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用Vue中 v-for循环列表控制按钮隐藏显示功能

程序员文章站 2023-12-03 08:07:40
v-for可以把数据中的一个数组对应为一组元素 v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭...

v-for可以把数据中的一个数组对应为一组元素

v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名。

- 实现效果如图

使用Vue中 v-for循环列表控制按钮隐藏显示功能

需求描述:

第一个显示蓝色按钮,代表数据最终状态;其余按钮为灰色,显示数据流转记录。

返回的数据类型

使用Vue中 v-for循环列表控制按钮隐藏显示功能

前端页面代码

<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循环列表控制按钮隐藏显示功能,希望对大家有所帮助