vue v-for出来的列表,如何实现点击某个li使得当前被点击的li字体变红

发布时间:2020-07-22 09:08:14 作者:小猪
来源:亿速云 阅读:272

这篇文章主要讲解了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字体变红有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 列表渲染 Vue2.0与Vue1.0的区别
  2. 基于Vue.js与WordPress Rest API构建单页应用详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

vue v-for li

上一篇:识别移动和pc打开跳转不同页面代码

下一篇:探究JS V8引擎下的“数组”底层实现

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》