Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

282
Visualizações
¿Cómo agregar una clase a elementos específicos creados con un bucle v-for?

Estoy creando un "verificador" de inventario simple que básicamente crea 14 divs que están "activos" o "inactivos". Con vue, creo estos divs con un simple bucle v-for:

 <div class="inventory"> <div class="item" v-for="index in 14" :key="index" ></div> </div>

Donde estoy atascado es que recibo datos de otra fuente que me proporciona una matriz con los números de los elementos del inventario que se consideran "activos".

por ejemplo:

 [{"id": "5","date": "2021-10-08 11:30:55"},{"id": "4","date": "2021-10-08 11:30:54"}]

Nota: la etiqueta de fecha es irrelevante para mi pregunta, pero da una idea de cómo me está buscando el objeto. hay más datos que son irrelevantes para mi pregunta

En este caso, eso significaría que debería dar una clase "activa" al artículo 4 y 5 en mi inventario. No veo cómo puedo recorrer los elementos (v-for looped) para agregarle esencialmente un if (inventoryId == id) {addclass 'active'}. ¿Algún consejo o truco agradable que pueda aplicar aquí? Si algo no está claro por favor hágamelo saber!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede cambiar la matriz de otra fuente para que sea una matriz que contenga una cantidad de id, tal vez algo como esto:

 let otherSource = [{"id": "5","date": "2021-10-08 11:30:55"},{"id": "4","date": "2021-10-08 11:30:54"}] // activeIds as a state/data this.activeIds = otherSource.map(el => Number(el.id)) // activeIds as computed property activeIds(){ return otherSource.map(el => Number(el.id)) }

puede poner activeIds como una propiedad de estado/computada

y entonces

 <div class="inventory"> <div class="item" v-for="index in 14" :class="activeIds.includes(index) ? 'active' : 'inactive'" :key="index" ></div> </div>

También puede poner esta parte como propiedad calculada para mejorar

 activeIds.includes(index) ? 'active' : 'inactive'

creo que esto servirá

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda