Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk menomborkan item tatasusunan tertentu jika syarat tertentu dipenuhi dalam Vue JS?

Andaikan saya mempunyai pelbagai objek dalam keadaan vue saya seperti ini:

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

Di halaman saya, semua nama ini ditunjukkan dalam senarai. Apa yang saya ingin paparkan di laman web adalah seperti berikut:

Daripada contoh di atas, saya rasa agak jelas apa yang saya ingin capai. Apakah cara paling mudah untuk mencapai ini dalam vue?

P粉665427988P粉665427988202 hari yang lalu443

membalas semua(2)saya akan balas

  • P粉790187507

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

    Cuba gunakan atribut compulated. Semak coretan kod di bawah

    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
    

    balas
    0
  • P粉491421413

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

    Anda boleh menggunakan Array.map untuk mengulangi semua elemen tatasusunan dan menjana hasil yang anda inginkan

    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)

    balas
    0
  • Batalbalas