Blazor ట్యుటోరియల్
పారామీటర్లతో Razor క్లాస్ లైబ్రరీ కాంపోనెంట్లు, ChildContent
రెండర్ ఫ్రాగ్మెంట్లు, గుణ వ్యాప్తి మరియు ప్రతి కాంపోనెంట్కు ఒక bUnit పరీక్ష.
మీరు ఏమి నిర్మిస్తారు
ఒక చిన్న సంప్రదింపు ఫారమ్ — లేబుల్ ఉన్న ఫీల్డ్, సమర్పించే బటన్,
@bind-Value బైండింగ్, నిజమైన కీబోర్డ్ మరియు స్క్రీన్-రీడర్ ప్రవర్తన — మొదట ఖాళీగా, తర్వాత శైలీకరించి, సుమారు 10 నిమిషాల్లో.
ప్రారంభించే ముందు
మీకు git మరియు .NET SDK 8 లేదా కొత్తది కావాలి. ఏ Blazor ప్రాజెక్ట్ అయినా పనిచేస్తుంది — Blazor Web App, Server లేదా WebAssembly.
దశ 1 — కోడ్ పొందండి
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
కాంపోనెంట్లు ఇక్కడ ఉంటాయి: src/LilyBlazorHeadless/Components/ —
Button.razor, TextInput.razor — ప్రతిదానికి ఒక Razor ఫైల్. మీ Blazor యాప్ నుండి ప్రాజెక్ట్ను సూచించండి (లేదా ఫైళ్లను కాపీ చేయండి) మరియు జోడించండి @using LilyBlazorHeadless.Components కు
_Imports.razor.
దశ 2 — మీ మొదటి కాంపోనెంట్
<Button OnClick="Save">Save</Button>
ఇది చూపిస్తుంది <button class="button">. భాగస్వామ్య పారామీటర్ సంప్రదాయాలు: Label (ఒక aria-label ఓవర్రైడ్ చేయడానికి),
CssClass (ప్రాథమిక హుక్కు జోడించబడుతుంది),
ChildContentమరియు
[Parameter(CaptureUnmatchedValues = true)] గుణ వ్యాప్తి, తద్వారా ఏ అదనపు HTML గుణమైనా దాటిపోతుంది.
దశ 3 — ఒక చిన్న ఫారమ్ను కూర్చండి
<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 కనిపించే Label ను దాని స్వంత పారామీటర్గా తీసుకుంటుంది, లోపల ఉంచిన లేబుల్ కాంపోనెంట్గా కాదు — దాన్ని ఒకసారి ఇవ్వండి, పై
Fieldమరియు TextInputయొక్క
Label అందుబాటులో ఉండే పేరును అందిస్తుంది.
2026-08-29న ధృవీకరించబడింది: ముందటి చిత్తుప్రతి ఒక ప్రత్యేక Label కాంపోనెంట్ను Fieldలోపల ఉంచింది, దాని వల్ల రెండు లేబుళ్లు (ఒకటి ఖాళీ) కనిపించాయి ఎందుకంటే Field
ఇప్పటికే తన స్వంతదాన్ని Label పారామీటర్ — కాంపోనెంట్ సోర్స్ కోడ్ తనిఖీ చేయడం ద్వారా గుర్తించబడింది; Form కు స్వయంగా Label పారామీటర్ లేదు, కాబట్టి ముందటి చిత్తుప్రతిలోని
<Form> వాడకం లేని గుణాన్ని కనిపెట్టడానికి బదులు దాన్ని వదిలివేసేలా సరిదిద్దబడింది.
సంయుక్త సంప్రదింపు-ఫారమ్ మార్గం
అదే నమూనా, నిజమైన e2e మరియు axe పరీక్షలతో పరీక్షించబడింది.
మీ పనిని తనిఖీ చేయండి: యాప్ను నడపండి, ఫారమ్ సాదాగా కనిపిస్తుంది — సరిగ్గా అనుకున్నట్లే: శైలీకరణ ఇంకా ముందుంది. నొక్కండి Tab: ఫోకస్ ప్రతి నియంత్రణ గుండా వెళుతుంది, లేబుల్ ప్రకటించబడుతుంది మరియు సమర్పణ పనిచేస్తుంది. ప్రవర్తన పూర్తయింది; రూపం మీది మరియు తదుపరి దశ.
దశ 4 — శైలీకరించండి
క్లాస్ హుక్లను శైలీకరించండి — .button, .text-input,
.label, .field — ఇందులో app.css, లేదా సిద్ధమైన థీమ్ను ఇక్కడ లింక్ చేయండి App.razor /
index.html:
<link rel="stylesheet" href="themes/wireframe.css" />
దశ 5 — అంతా పనిచేయడం చూడండి
Blazor Web ఉదాహరణ యాప్ పూర్తి కేటలాగ్ను శైలీకరించి, ప్రదర్శనతో చూపిస్తుంది, Playwright e2e పరీక్షలతో:
git clone https://github.com/LilyDesignSystem/lily-design-system
cd lily-design-system/lily-design-system-blazor-web-examples
dotnet run --project src/LilyBlazorWebExamples
తదుపరి దశలు
- థీమ్లు — Blazor theme-picker సహాయకంతో రన్టైమ్లో మార్చడం (NuGet లో Razor క్లాస్ లైబ్రరీ).
- ప్రాధాన్యత సహాయకాలు — భాష మరియు టెక్స్ట్ పరిమాణం.
- కాంపోనెంట్ కేటలాగ్ — ప్రతి కాంపోనెంట్కు లక్షణాలు, ARIA మరియు కీబోర్డ్.
దారిలో ప్రశ్నలా? సహాయ పేజీ సమాధానాలతో నిండి ఉంది — మరియు ఏదైనా దశను మరింత స్పష్టంగా చేయవచ్చంటే, మాకు చెప్పండి మరియు మేము సంతోషంగా ట్యుటోరియల్ను మెరుగుపరుస్తాము.