Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

125
Views
Vue JS agrega una clase cuando se hace clic en un elemento y lo elimina cuando se hace clic en un elemento hermano

En una lista de navegación. Estoy agregando una clase al hacer clic, y desaparece cuando hago clic nuevamente. Es agregar la clase a todos los elementos de la lista. Solo deseo activar un elemento a la vez en Click. Además, tengo un clic con dos acciones (desplazarse y luego agregar una clase)

 <b-navbar class="d-flex flex-column align-items-start> <b-navbar-brand tag="h3" class="m-0">List Index</b-navbar-brand> <b-navbar-nav v-for="(linkItem, index) in linkItems" :key="index"> <b-nav-item :class="{ active: isActive }" class="pl-2" @click="scrollTo(`${linkItem.id}`), (isActive = !isActive)"> {{ linkItem.title }} </b-nav-item> </b-navbar-nav> </b-navbar>

Y los métodos son

 data() { return { isActive: false, linkContent: [] as any }; }, scrollTo { This is working fine}, activeLink() { this.isActive = true; } } });

Necesito ayuda para que la clase solo se aplique al elemento activo.

Gracias

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Simplemente envíe el índice al estado isActive.

 :class="{ 'active': isActive === index }"

Con clic debe proporcionar su índice

 @click="scrollTo(`${linkItem.id}`), (isActive = index)"
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!