Maison  >  Questions et réponses  >  le corps du texte

Comment numéroter des éléments de tableau spécifiques si une condition spécifique est remplie dans Vue JS ?

Supposons que j'ai un tableau d'objets dans mon état de vue comme ceci :

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

Sur ma page, tous ces noms sont affichés dans la liste. Ce que je souhaite afficher sur la page Web est le suivant :

D'après l'exemple ci-dessus, je pense que ce que je veux réaliser est assez clair. Quelle est la manière la plus simple d'y parvenir en vue ?

P粉665427988P粉665427988202 Il y a quelques jours445

répondre à tous(2)je répondrai

  • P粉790187507

    P粉7901875072024-03-31 15:33:32

    Essayez d'utiliser l'attribut compulated. Vérifiez l'extrait de code ci-dessous

    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}`;
          });
        }
      }
    })
    sssccc
    

    répondre
    0
  • P粉491421413

    P粉4914214132024-03-31 14:41:07

    Vous pouvez utiliser Array.map pour parcourir tous les éléments du tableau et générer le résultat souhaité

    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)

    répondre
    0
  • Annulerrépondre