Main Menu

Belajar Vue 3 Dasar #8: List Rendering


👍 0 ❤️ 0 💡 0 🔥 0 🙌 0 🥳 0
Belajar Vue 3 Dasar #8: List Rendering

Halo teman-teman semuanya, pada artikel sebelumnya kita sudah belajar tentang Conditional Rendering, bagaimana menampilkan atau menyembunyikan elemen dengan v-if, v-else, dan v-show.

Pada artikel kali ini, kita akan membahas tentang List Rendering, yaitu bagaimana cara menampilkan data berupa daftar (array) di Vue menggunakan v-for.

Apa Itu List Rendering?

List Rendering adalah proses menampilkan data dalam bentuk list/daftar berdasarkan array atau object. Di Vue, kita menggunakan directive v-for untuk melakukan iterasi.

Render Array Sederhana

<script setup>
import { ref } from "vue"

const fruits = ref(["Apel", "Jeruk", "Mangga"])
</script>

<template>
  <ul>
    <li v-for="fruit in fruits" :key="fruit">{{ fruit }}</li>
  </ul>
</template>

Penjelasan:

  • v-for="fruit in fruits" → melakukan looping array fruits.
  • :key="fruit" → setiap item harus punya key unik untuk membantu Vue mengelola DOM.

Render dengan Index

Kita juga bisa mengambil index dari looping.

<template>
  <ul>
    <li v-for="(fruit, index) in fruits" :key="index">
      {{ index + 1 }}. {{ fruit }}
    </li>
  </ul>
</template>

Akan menampilkan daftar dengan nomor urut.

Render Object

Selain array, kita juga bisa looping object.

<script setup>
import { reactive } from "vue"

const user = reactive({
  name: "Budi",
  age: 20,
  city: "Jakarta"
})
</script>

<template>
  <ul>
    <li v-for="(value, key) in user" :key="key">
      {{ key }}: {{ value }}
    </li>
  </ul>
</template>

Hasilnya:

name: Budi  
age: 20  
city: Jakarta  

Render Daftar Object

Biasanya data berbentuk array of objects.

<script setup>
import { ref } from "vue"

const users = ref([
  { id: 1, name: "Budi", age: 20 },
  { id: 2, name: "Siti", age: 22 },
  { id: 3, name: "Andi", age: 25 }
])
</script>

<template>
  <div v-for="user in users" :key="user.id" class="card">
    <h3>{{ user.name }}</h3>
    <p>Umur: {{ user.age }}</p>
  </div>
</template>

Setiap user ditampilkan dalam card sederhana.

Nested Loop

Kita bisa melakukan nested loop dengan v-for di dalam v-for.

<script setup>
import { ref } from "vue"

const categories = ref([
  { name: "Buah", items: ["Apel", "Mangga", "Jeruk"] },
  { name: "Sayur", items: ["Bayam", "Wortel", "Tomat"] }
])
</script>

<template>
  <div v-for="category in categories" :key="category.name">
    <h4>{{ category.name }}</h4>
    <ul>
      <li v-for="item in category.items" :key="item">{{ item }}</li>
    </ul>
  </div>
</template>

Akan menampilkan daftar kategori beserta item di dalamnya.

Kesimpulan

Pada artikel ini, kita sudah belajar tentang List Rendering di Vue, mulai dari array sederhana, penggunaan index, looping object, daftar object, hingga nested loop. Dengan v-for, kita bisa menampilkan data dalam bentuk daftar dengan mudah dan fleksibel.

Di artikel berikutnya, kita akan membahas tentang Form Binding (v-model), yaitu bagaimana mengikat input form ke state secara reaktif.

Terima kasih


Fika Ridaul Maulayya
Full-Stack Developer, Content Creator and CO-Founder SantriKoding.com

Suka dengan tulisan di SantriKoding? Kamu bisa memberikan dukungan dengan berdonasi atau bagikan konten ini di sosial media. Terima kasih atas dukungan Anda!

KEBIJAKAN KOMENTAR

Saat memberikan komenatar silahkan memberikan informasi lengkap tentang error, seperti: screenshot, link kode, dll. Baca aturan komentar kami