Tutorial Blazor

Komponen pustaka kelas Razor dengan parameter, ChildContent fragmen render, penyebaran atribut, dan satu pengujian bUnit per komponen.

Apa yang akan Anda bangun

Formulir kontak kecil — kolom berlabel, tombol kirim, @bind-Value pengikatan, perilaku papan ketik dan pembaca layar yang nyata — pertama polos, lalu bergaya, dalam sekitar 10 menit.

Sebelum memulai

Anda memerlukan git dan .NET SDK 8 atau lebih baru. Proyek Blazor mana pun bisa — Blazor Web App, Server, atau WebAssembly.

Langkah 1 — Dapatkan kodenya

git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-blazor-headless
dotnet build
dotnet test      # bUnit — 1,400+ cases across the catalog

Komponen berada di src/LilyBlazorHeadless/Components/ — Button.razor, TextInput.razor — satu berkas Razor masing-masing. Rujuk proyek (atau salin berkas) dari aplikasi Blazor Anda dan tambahkan @using LilyBlazorHeadless.Components ke _Imports.razor.

Langkah 2 — Komponen pertama Anda

<Button OnClick="Save">Save</Button>

Merender <button class="button">. Konvensi parameter bersama: Label (sebuah aria-label untuk menimpa), CssClass (ditambahkan ke kait dasar), ChildContentdan [Parameter(CaptureUnmatchedValues = true)] penyebaran atribut sehingga atribut HTML tambahan apa pun diteruskan.

Langkah 3 — Susun formulir kecil

<Form OnSubmit="HandleSubmit">
  <Field Label="Full name" Required="true">
    <TextInput Id="name" Label="Full name" @bind-Value="name" Required="true" />
  </Field>
  <Button Type="submit">Save</Button>
</Form>

@code {
  private string name = "";
}

Field menerima Label yang terlihat sebagai parameternya sendiri, bukan komponen label bersarang — teruskan sekali, pada Fielddan TextInputyang cocok dari Label memberikan nama yang dapat diakses.

Diverifikasi 2026-08-29: draf sebelumnya menyarangkan komponen Label terpisah di dalam Field, yang merender dua label (satu kosong) karena Field sudah merender labelnya sendiri dari input Label parameter — ditemukan dengan memeriksa kode sumber komponen; Form sendiri tidak memiliki Label parameter, jadi penggunaan <Form> pada draf sebelumnya diperbaiki dengan menghilangkannya, alih-alih mengarang atribut yang tidak ada. Rute formulir kontak gabungan adalah pola yang sama, diuji dengan pengujian e2e dan axe yang nyata.

Periksa pekerjaan Anda: jalankan aplikasi dan formulir tampak polos — persis seperti yang dimaksudkan: penataan gaya masih akan datang. Tekan Tab: fokus berpindah melalui setiap kontrol, label diumumkan, dan pengiriman berfungsi. Perilakunya selesai; tampilan adalah milik Anda dan menjadi langkah berikutnya.

Langkah 4 — Beri gaya

Beri gaya pada kait kelas — .button, .text-input, .label, .field — di app.css, atau tautkan tema siap pakai di App.razor / index.html:

<link rel="stylesheet" href="themes/wireframe.css" />

Langkah 5 — Lihat semuanya bekerja

Aplikasi contoh Blazor Web menampilkan katalog lengkap yang bergaya dan didemonstrasikan, dengan pengujian e2e Playwright:

git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-blazor-web-examples
dotnet run --project src/LilyBlazorWebExamples

Langkah berikutnya

  • Tema — pengalihan saat berjalan dengan pembantu theme-picker Blazor (pustaka kelas Razor di NuGet).
  • Pembantu preferensi — bahasa dan ukuran teks.
  • Katalog komponen — properti, ARIA, dan papan ketik per komponen.

Ada pertanyaan di tengah jalan? Halaman bantuan penuh jawaban — dan jika suatu langkah bisa lebih jelas, beri tahu kami dan kami dengan senang hati akan memperbaiki tutorial ini.