Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

583
Vistas
¿Cómo manejar hide show de manera diferente en un for loop ion vuejs?

Estoy tratando de ocultar y mostrar el nombre del usuario cuando coloco el cursor sobre la imagen del usuario, todos los usuarios se representan dentro de un bucle for y creé un método de ocultar/mostrar para mostrar el nombre al lado de la imagen. pero el error es que todos los nombres se ocultan/muestran si estoy sobre cualquier imagen en el bucle for. por favor ayuda . este es mi código a continuación.

 <ul class="space-y-2"> <li v-for="(item,index) in activeUserRooms" :key="index" class="flex space-x-3"> <div class="shadow-md rounded-md h-10" v-if="showName"> <p class="my-2 mx-1">{{item.name}}</p> </div> <img :src="item.image" class="rounded-full h-12" @mouseover="showUsername(index)" @mouseleave="hideUsername(index)"> </li> </ul> data() { return { floatbtnclicked: false, activeUserRooms:[ {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",}, {name:"Lisa Wanka",image:"https://randomuser.me/api/portraits/women/85.jpg",} ], showName:false }; }, methods:{ showUsername(index){ this.showName = true; }, hideUsername(index){ this.showName = false; } }

gracias de antemano .

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Intente establecer el índice en showName en lugar del valor booleano, luego en la plantilla verifique v-if="showName === index" y mueva @mouseleave="hideUsername" a ul :

 new Vue({ el: '#demo', data() { return { floatbtnclicked: false, activeUserRooms:[ {name:"Lisa Wanka",image:"https://picsum.photos/50",}, {name:"Lisa Wanka",image:"https://picsum.photos/50",}, {name:"Lisa Wanka",image:"https://picsum.photos/50",}, {name:"Lisa Wanka",image:"https://picsum.photos/50",}, {name:"Lisa Wanka",image:"https://picsum.photos/50",}, {name:"Lisa Wanka",image:"https://picsum.photos/50",}, {name:"Lisa Wanka",image:"https://picsum.photos/50",}, {name:"Lisa Wanka",image:"https://picsum.photos/50",}, ], showName: null }; }, methods:{ showUsername(index){ this.showName = index; }, hideUsername(){ this.showName = null; } } }) Vue.config.productionTip = false Vue.config.devtools = false
 <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"> <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> <ul class="space-y-2" @mouseleave="hideUsername"> <li v-for="(item,index) in activeUserRooms" :key="index" class="flex space-x-3"> <div class="shadow-md rounded-md h-10" v-show="showName === index"> <p class="my-2 mx-1">{{item.name}}</p> </div> <img :src="item.image" class="rounded-full h-12" @mouseover="showUsername(index)" > </li> </ul> </div>

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda