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

151
Visualizações
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 Respostas
Responde à pergunta

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 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