Blazor - Get Started with Smart.CheckBox
Setup The Project
Follow the Getting Started guide to set up your Blazor Application with Smart UI.
Setup Basic CheckBox
Smart.CheckBox is a custom checkbox element with built-in features such as animations, image support and checkMode.
It is recommended to use Smart.CheckBox in forms with multiple options and Smart.SwitchButton in single settings option.
- Add the CheckBox component to the Pages/Index.razor file
<CheckBox></CheckBox>
- Optionally, set the label, value and check state of the CheckBox:
<CheckBox Name="Interests" Value="Music" Checked="true">Music</CheckBox>
Check Mode
Check Mode determines the behavior of the element when clicking on the input and the label.
When CheckMode
is set to Both
- it can be selected by both parts of the component.
In the example below, the checkbox can only be selected by clicking on the label:
<CheckBox Name="Subscribe" Value="newsletter" Checked="true" CheckMode="CheckMode.Label">Subscribe to newsletter?</CheckBox>
CheckBox with Image
Smart.CheckBox supports applying custom images with CSS:
<style> smart-check-box.heart .smart-input { background-image: url(https://www.htmlelements.com/demos/images/check-mark-heart-empty.svg); background-repeat: no-repeat; border-color: transparent; background-color: transparent; } smart-check-box.heart .smart-input::after { content: ''; } smart-check-box.heart .smart-overlay { display:none; } smart-check-box.heart[checked] .smart-input { background-image: url(https://www.htmlelements.com/demos/images/check-mark-heart.svg); background-repeat: no-repeat; color: var(--smart-error); } smart-check-box.heart[checked="null"] .smart-input { background-image: url(https://www.htmlelements.com/demos/images/check-mark-heart-indetermined.svg); background-repeat: no-repeat; } </style> <CheckBox Name="Interests" Value="Music" Checked="true" Class="heart">Music</CheckBox> <CheckBox Name="Interests" Value="Books" Checked="true"Class="heart">Books</CheckBox>
CheckBox Events
Smart.CheckBox provides multiple events that can help you expand the component's functionality.
Each event object has unique event.detail parameters.
OnChange
- triggered when the widget is checked/unchecked.
Event Details
: dynamic value, dynamic oldValue, dynamic changeTypeOnCheckValue
- triggered when the component is checked.
Event Details
: dynamic changeTypeOnUncheckValue
- triggered when the component is unchecked.
Event Details
: dynamic changeType
The demo below uses the OnCheckValue
Event to log every time the checkbox is checked:
<CheckBox Name="Subscribe" Checked="true" OnCheckValue="OnCheckValue">Subscribe to newsletter?</CheckBox> <h5>@message</h5> @code{ string message = ""; private void OnCheckValue(Event ev){ message += "Checked!, "; } }
Two-way Value Binding
The CheckBox component also supports two-way value binding:
<h3>@CheckBoxValue</h3> <CheckBox @bind-Checked="@CheckBoxValue">Subscribe to newsletter?</CheckBox> @code{ public bool CheckBoxValue = true; }