使用使用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>
评论0