Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan komponen kumpulan peralihan untuk melaksanakan kesan peralihan animasi senarai dalam Vue

Cara menggunakan komponen kumpulan peralihan untuk melaksanakan kesan peralihan animasi senarai dalam Vue

WBOY
WBOYasal
2023-06-11 11:48:031986semak imbas

Vue ialah rangka kerja bahagian hadapan yang berkuasa yang menyediakan banyak komponen berkuasa, termasuk komponen kumpulan peralihan, yang boleh membantu kami mencapai kesan peralihan animasi senarai yang menakjubkan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan komponen kumpulan peralihan Vue untuk mencapai kesan ini.

1. Pengenalan kepada komponen kumpulan peralihan

Komponen kumpulan peralihan Vue ialah komponen yang digunakan untuk menambah kesan animasi apabila komponen berubah. Ia boleh mengandungi berbilang komponen atau elemen dalam bekas dan menghidupkannya. Melalui komponen kumpulan peralihan, kita boleh mencapai peralihan animasi senarai, peralihan animasi penghalaan dan kesan lain.

2. Melaksanakan kesan peralihan animasi senarai

Apabila melaksanakan kesan peralihan animasi senarai, kami biasanya mempunyai langkah berikut:

  1. Buat senarai yang mengandungi bekas senarai dan tetapkan kunci untuknya; komponen kumpulan membalut bekas ini;
  2. menetapkan nama untuk komponen kumpulan peralihan ini;
  3. Di bawah ini kami akan memperkenalkan proses ini secara terperinci melalui contoh.
  4. Kod sampel adalah seperti berikut:
  5. <template>
      <div>
        <button @click="addItem">添加</button>
        <button @click="removeItem">删除</button>
        <transition-group tag="ul" name="list">
          <li v-for="(item, index) in list" :key="item.id">{{ item.text }}</li>
        </transition-group>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          list: [
            { id: 1, text: "第一项" },
            { id: 2, text: "第二项" },
            { id: 3, text: "第三项" },
          ],
          nextId: 4,
        };
      },
      methods: {
        addItem() {
          this.list.push({ id: this.nextId++, text: `第${this.nextId}项` });
        },
        removeItem() {
          this.list.pop();
        },
      },
    };
    </script>
    
    <style>
    .list-enter-active,
    .list-leave-active {
      transition: all 0.5s;
    }
    .list-enter,
    .list-leave-to {
      opacity: 0;
    }
    </style>
  6. Mula-mula kita mentakrifkan tatasusunan senarai dalam data, yang mengandungi tiga objek, setiap objek mempunyai atribut id dan teks. Kemudian kami menggunakan arahan v-for dalam templat untuk mengulang setiap item dan menetapkan kunci untuk setiap item. Ambil perhatian bahawa di sini kami menggunakan komponen kumpulan peralihan untuk membungkus bekas senarai dan menetapkan atribut nama untuknya.
  7. Dalam helaian gaya, kami mentakrifkan kesan animasi masuk dan keluar untuk item senarai. Apabila memasuki, kami menetapkan sifat kelegapan kepada 0 untuk mencapai kesan fade-in apabila keluar, kami juga menetapkan sifat kelegapan kepada 0 untuk mencapai kesan fade-out.

Jika anda menjalankan kod contoh ini, anda akan melihat bahawa setiap item dalam senarai mempunyai kesan animasi pudar perlahan. Dan apabila anda mengklik butang "Tambah", item senarai yang baru ditambah juga akan mempunyai kesan animasi yang sama. Apabila anda mengklik butang "Padam", item terakhir juga akan mempunyai kesan animasi yang sama.

3. Kesimpulan

Dalam Vue, sangat mudah untuk menggunakan komponen kumpulan peralihan untuk mencapai kesan peralihan animasi senarai Anda hanya perlu mengikut langkah di atas. Dengan contoh ini, kami mempunyai pemahaman yang baik tentang proses ini. Saya harap pembaca dapat menguasai kemahiran ini dan menggunakannya dalam pembangunan sebenar.

Atas ialah kandungan terperinci Cara menggunakan komponen kumpulan peralihan untuk melaksanakan kesan peralihan animasi senarai dalam Vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn