Blazor - Get Started with Smart.DateInput
Setup The Project
Follow the Getting Started guide to set up your Blazor Application with Smart UI.
Setup Basic DateInput
Smart.DateInput is a custom component that allows users to input or select dates.
- Add the DateInput component to the Pages/Index.razor file
<DateInput></DateInput>
- The default value of the input is the current date. It can be changed using the Value property:
<DateInput Value="defaultValue"></DateInput> @code{ public object defaultValue = "2021-12-15"; }
Date Formatting
The format of the dates displayed in the input can be modified using the DateTimeFormat property.
The values are set according to the JavasScript Intl.DateTimeFormat() constructor.
<DateInput DateTimeFormat="dateformat" Value="defaultValue"></DateInput>
@code{
string defaultValue = "2021-12-15";
DateTimeFormat dateformat = new DateTimeFormat{
Day = DateTimeFormatDay.Numeric,
Month = DateTimeFormatMonth.Long,
Year = DateTimeFormatYear.Numeric
};
}
DateInput Events
Smart.DateInput provides an OnChange Event that can help you expand the component's
functionality.
The event object can have unique event.detail parameters.
OnChange- triggered when the value is changed.
Event Details: string label, dynamic oldLabel, dynamic oldValue, dynamic value
<h3>@selectedMonth</h3>
<DateInput OnChange="OnChange"></DateInput>
@code{
string selectedMonth;
public void OnChange(Event ev){
if(ev.ContainsKey("Detail")){
DateInputChangeEventDetail detail = ev["Detail"];
selectedMonth = detail.Value.ToString("MMMM", new CultureInfo("en-US"));
}
}
}
The demo below displays the new value every time it is changed:
Two-way Value Binding
The DateInput component also supports two-way value binding:
<h3>@dateValue</h3>
<DateInput @bind-Value = "@dateValue"></DateInput>
@code{
public object dateValue = "2021-09-14";
}