Vue循环列表下加隐藏框

最近遇见一个需求需要在列表下加一个隐藏框,点击才展示出来 网上看了一下结合自己的需要写了一个例子出来

<div id="app">
  <ol>
    <li v-for="site in sites">
      {{ site.name }} 
		<input type="button" @click="test(site)" value="点击"/>
		<div v-if="site.isOk">
			{{ site.name }}
		</div>
    </li>
  </ol>
</div>

利用v-for循环,隐藏条件也根据循环出来的site里面值来进行判别,
但是后台传的数据不会专门为了这个给你加一个字段,需要自己添加一个判断值。
于是用到

Vue.set(obj,'isOk',false);

以下为假设后台传入数据不存在判断字段,自己进行添加

<script>
new Vue({
  el: '#app',
  data: {
    sites: []
  },
  created() {
  	const data1=[
  	  { name: 'Runoob'},
  	  { name: 'Google'},
  	  { name: 'Taobao'}
  	];
	for (var i = 0; i < data1.length; i++) {
		var obj={}
		Vue.set(obj, 'name', data1[i].name);
		Vue.set(obj,'isOk',false);
		console.log(obj)
		this.sites.push(obj);
	}
  },
  methods: {
  	test(site){
	site.isOk = !site.isOk;
	}
  }
})
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值