这篇文章主要讲解了vue v-for出来的列表,如何实现点击某个li使得当前被点击的li字体变红,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
这里使用的是给被点击的li添加类名的方式
<template> <div class="person1"> <div v-for="(item,index) in lists" @click="clickAdd(index)" :key="index" :class="{red:i === index}"> <div>{{item.name}}</div> </div> </div> </template> <script> export default { data () { return { isShow: false, i: null, lists: [ {id: 1, name: 'rose'}, {id: 2, name: 'mike'}, {id: 3, name: 'jerry'} ] } }, methods: { clickAdd (index) { console.log(index) this.i = index } }, watch: { } } </script> <style> li{ list-style: none; } .red{ color: red; } </style>
如果想要获取lists里某条数据信息的话,直接将item传递过去即可(@click=“clickAdd(item)”)
补充知识:vue点击ul中的li显示,点击其他地方隐藏
vue点击ul中的li显示弹框,点击其他地方隐藏弹框
注意:ref="seatTipOperation"
<ul ref="seatTipOperation" v-if="seatTipOperationVisible" > <li @click="handleSeatTipAdd()">添加</li> <li @click="handleSeatTipDelect()">删除</li> <li @click="handleSeatTipLock()">锁定</li> <li @click="handleSeatTipFillIn()">插空</li> <li @click="handleSeatTipSocket()">插座</li> <li @click="handleSeatTipSwop()">对调</li> </ul>
handleSeatList () { this.seatTipOperationVisible = true }
mounted () { // this的指向问题 let that = this document.addEventListener('click', function (e) { // 这里that代表组件,this代表document // 冒泡也不会隐藏 if(!that.$refs.seatTipOperation.contains(e.target)){ that.seatTipOperationVisible = false } }) }
看完上述内容,是不是对vue v-for出来的列表,如何实现点击某个li使得当前被点击的li字体变红有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。