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

146
Views
Cómo cambiar varios elementos de datos a verdaderos uno a la vez en Vuejs

Soy muy nuevo en Vuejs y me pregunto cómo puedo hacer que esto funcione en Vuejs

Tengo un conjunto de datos diferentes:

 data() { return { recents: false, frontend: false, backend: false, devops: false, tutoriais: false, }; },

Y cuando hago clic en un botón, invoca openOptions() y cambia una propiedad específica a verdadero o falso.

 openOptions(e) { const optionClicked = e.target.text.toLowerCase(); this[optionClicked] = !this[optionClicked]; },

Sin embargo, no puedo tener 2 propiedades siendo verdaderas. Necesito configurar todo lo demás en false , pero me cuesta entender cómo puedo hacer que esto funcione. Así que básicamente lo que necesito es

 set the one I clicked to true and the rest to false

Alguien me puede ayudar con eso?

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

0

Primero puede crear un objeto como una sola entidad, he usado un objeto con nombre como collection

Demo en vivo

Demostración de Codesandbox

 data() { return { collection: { recents: false, frontend: false, backend: false, devops: false, tutoriais: false, }, }; },

luego, puede adjuntar un oyente de clic en cada elemento (si lo desea, también puede adjuntar un oyente de un solo clic en su padre)

 <button v-for="[key, value] in Object.entries(this.collection)" :key="key" v-on:click="() => openOptions(key)" > {{ key }} {{ value }} </button>

cuando el usuario hace clic en cualquier button , solo su valor se establecerá en true y los demás son false como:

 openOptions(clickedKey) { Object.keys(this.collection).forEach((key) => { this.collection[key] = key === clickedKey ? true : false; }); },
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!