Latihan 1 dari materi Proyek Svelte di Svelte — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Kode awal sudah punya todos, input, $: remaining, addTodo(), removeTodo(), <h1>Todo App</h1>, dan <p>{remaining} tersisa</p>. Biarkan semuanya.
Di bawah <p>, tulis <form on:submit|preventDefault={addTodo}>.
Di dalamnya, tulis <input bind:value={input} /> dan <button type="submit">Tambah</button>, lalu tutup </form>.
Di bawah form, tulis <ul> berisi {#each todos as todo (todo.id)}, satu <li> yang menampilkan {todo.text}, lalu {/each}.
Di tiap <li>, tambahkan <input type="checkbox" bind:checked={todo.done} />, tulis teksnya sebagai <span class:done={todo.done}>{todo.text}</span>, dan tombol <button on:click={() => removeTodo(todo.id)}>Hapus</button>.
Di <style>, tulis .done { text-decoration: line-through; opacity: 0.5; }.
Yang dicek:
Halaman punya <h1>, <form>, dan <ul> (boleh kosong di awal).
Kodemu memakai #each dan bind:.
Penguji mengetik Belajar Svelte di kolom isian, menekan tombol bertuliskan persis Tambah, lalu <ul> harus memuat Belajar Svelte dan kolom isiannya kosong lagi.
Menekan Tambah dengan kolom kosong gak membuat <li> apa pun.
Dari awal lagi: sebelum ada todo, <p> berisi persis 0 tersisa. Sesudah Belajar Svelte ditambahkan, 1 tersisa. Sesudah checkbox-nya dicentang, 0 tersisa lagi. Lalu sesudah Hapus diklik, gak ada <li> yang tersisa.
Kodemu memakai class:done dan punya gaya .done dengan line-through.
Hint
Daftarnya digambar dari array todos, dan addTodo yang sudah ada menambah isi array itu dengan assignment, menolak kolom kosong, lalu mengosongkan input. Kamu tinggal menyambungkan form, kolom, dan daftarnya.
Form memanggil addTodo saat dikirim tanpa memuat ulang halaman, kolomnya diikat dua arah ke input, dan <ul> berisi blok each berkunci todo.id.
<form on:submit|preventDefault={addTodo}> <input bind:value={input} /> <button type="submit">Tambah</button> </form> <ul> {#each todos as todo (todo.id)} <li>{todo.text}</li> {/each} </ul>
</>{ }.css=>#idfn()
Versi baru
HyperSheets
bagian dari BelajarWeb.dev
0%
Membuka gerbang…
HyperSheets
Memperbarui Aplikasi
Versi baru tersedia. Halaman akan dimuat ulang otomatis...