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

234
Visualizações
¿Cómo numerar elementos de matriz específicos si cumplen una condición específica en Vue JS?

Digamos que tengo una serie de objetos como los siguientes en mi estado vue:

 [ {name: "Daniel", default: false}, {name: "Ross", default: true}, {name: "Rachel", default: false}, {name: "Joey", default: false} {name: "Monica", default: true} {name: "Gunther", default: true} ]

En mi página web, todos estos nombres ya se muestran en una lista. Lo que quiero mostrar en mi página web es como a continuación:

  • Daniel
  • Ross - Predeterminado 1
  • Raquel
  • joey
  • Mónica - Predeterminado 2
  • Gunther - Predeterminado 3

Del ejemplo anterior, creo que está bastante claro lo que quiero lograr. ¿Cuál es la forma más sencilla de lograr esto en vue?

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

0

Intente usar la propiedad computed . Verifique el fragmento de código a continuación

 var app = new Vue({ el: '#app', data() { return { list: [ {name: "Daniel", default: false}, {name: "Ross", default: true}, {name: "Rachel", default: false}, {name: "Joey", default: false}, {name: "Monica", default: true}, {name: "Gunther", default: true}, ] }; }, computed: { getList() { let index = 1; return this.list.map(item => { return item.default ? `${item.name} - Default ${index++}` : `${item.name}`; }); } } })
 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="app"> <template> <ul> <li v-for="(item, index) in getList" :key="index"> {{item}} </li> </ul> </template> </div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Puedes probar esto:

 let defaultCount = 0; const data = [ { name: "Daniel", default: false }, { name: "Ross", default: true }, { name: "Rachel", default: false }, { name: "Joey", default: false }, { name: "Monica", default: true }, { name: "Gunther", default: true }, ].map((el) => { if (el.default) { defaultCount++; return { ...el, defCount: defaultCount, }; } else { return { ...el, defCount: null, }; } }); console.log(data);

 <li v-for="(item) in array" :key="item.name"> {{`${item.name}${item.defCount? ` - Default ${item.defCount}`:''}`}} </li>
about 4 years ago · Juan Pablo Isaza Relatório

0

Puede usar Array.map para iterar sobre todos los elementos de la matriz y generar el resultado deseado

 const data = [ { name: "Daniel" , default: false }, { name: "Ross" , default: true }, { name: "Rachel" , default: false }, { name: "Joey" , default: false }, { name: "Monica" , default: true }, { name: "Gunther", default: true } ]; let defaultCount = 0; const res = data.map(item => `${item.name}${item.default? ` default ${++defaultCount}`:''}`) console.log(res)

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