Vodič za Blazor

Komponente biblioteke klasa Razor s parametrima, ChildContent fragmenti iscrtavanja, rasipanje atributa i jedan bUnit test po komponenti.

Što ćete izraditi

Mali kontaktni obrazac — polje s oznakom, gumb za slanje, @bind-Value vezivanje, stvarno ponašanje tipkovnice i čitača zaslona — najprije golo, zatim stilizirano, za otprilike 10 minuta.

Prije nego počnete

Trebaju vam git i .NET SDK 8 ili noviji. Odgovara bilo koji projekt Blazor — Blazor Web App, Server ili WebAssembly.

Korak 1 — Preuzmite kod

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

Komponente se nalaze u src/LilyBlazorHeadless/Components/ — Button.razor, TextInput.razor — po jedna Razor datoteka. Referencirajte projekt (ili kopirajte datoteke) iz svoje Blazor aplikacije i dodajte @using LilyBlazorHeadless.Components u _Imports.razor.

Korak 2 — Vaša prva komponenta

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

Iscrtava <button class="button">. Zajedničke konvencije parametara: Label ( aria-label za nadjačavanje), CssClass (dodaje se osnovnoj kuki), ChildContenti [Parameter(CaptureUnmatchedValues = true)] rasipanje atributa pa svaki dodatni HTML atribut prolazi.

Korak 3 — Sastavite mali obrazac

<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 prima vidljivu Label kao vlastiti parametar umjesto ugniježđene komponente oznake — proslijedite je jednom, na Fieldi TextInputiz Label daje pristupačno ime.

Provjereno 2026-08-29: raniji nacrt ugnijezdio je zasebnu komponentu Label unutar Field, što je iscrtalo dvije oznake (jednu praznu) jer Field već iscrtava vlastitu iz ulaza Label parametar — otkriveno provjerom izvornog koda komponente; Form sam nema parametar Label , pa je uporaba <Form> iz ranijeg nacrta ispravljena izostavljanjem, umjesto izmišljanja atributa koji ne postoji. Složena ruta kontaktnog obrasca isti je uzorak, isproban stvarnim e2e i axe testovima.

Provjerite svoj rad: pokrenite aplikaciju i obrazac izgleda golo — točno kako je zamišljeno: stiliziranje tek slijedi. Pritisnite Tab: fokus prolazi kroz svaku kontrolu, oznaka se izgovara i slanje radi. Ponašanje je gotovo; izgled je vaš i sljedeći je korak.

Korak 4 — Stilizirajte ga

Stilizirajte klasne kuke — .button, .text-input, .label, .field — u app.css, ili povežite gotovu temu u App.razor / index.html:

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

Korak 5 — Pogledajte kako sve radi

Primjer aplikacija Blazor Web prikazuje cijeli katalog stiliziran i demonstriran, s Playwright e2e testovima:

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

Sljedeći koraci

  • Teme — prebacivanje tijekom izvođenja pomoćnikom theme-picker za Blazor (biblioteka klasa Razor na NuGetu).
  • Pomoćnici za postavke — jezik i veličina teksta.
  • Katalog komponenti — svojstva, ARIA i tipkovnica po komponenti.

Pitanja usput? Stranica pomoći puna je odgovora — a ako neki korak može biti jasniji, javite nam i rado ćemo poboljšati vodič.