Formatting in Blazor Range Slider Component
21 Mar 20252 minutes to read
The Format
feature used to customize the units of Slider values to desired format. The formatted values will also be applied to the ARIA attributes of the slider. There are two ways of achieving formatting in slider.
-
Use the
Format
API of slider which utilizes our Internationalization to format values. -
Customize using the events namely
TicksRendering
andOnTooltipChange
.
@using Syncfusion.Blazor.Inputs
<SfSlider @bind-Value="@CurrencyValue">
<SliderTooltip IsVisible="true" ShowOn="TooltipShowOn.Always" Format="C2" Placement="TooltipPlacement.Before"></SliderTooltip>
<SliderTicks Placement="Placement.Before" Format="C2" ShowSmallTicks="true" LargeStep="20" SmallStep="10"></SliderTicks>
</SfSlider>
@code {
int CurrencyValue = 30;
}
Using format API
Slider provides different predefined formatting styles like Numeric (N), Percentage (P), Currency (C) and # specifiers.
@using Syncfusion.Blazor.Inputs
<SfSlider Min="1" Max="10" @bind-Value="@PercentageValue">
<SliderTicks Placement="Placement.After" Format="P0" ShowSmallTicks="true" LargeStep="2" SmallStep="1"></SliderTicks>
<SliderTooltip IsVisible="true" ShowOn="TooltipShowOn.Always" Format="P0" Placement="TooltipPlacement.Before"></SliderTooltip>
</SfSlider>
@code {
int PercentageValue = 3;
}
Using Events
For custom formatting use event handlers like TicksRendering
and OnTooltipChange
. Below is an example where slider values are formatted into weekdays and corresponding tooltip values are formatted as days of the week.
@using Syncfusion.Blazor.Inputs
<SfSlider id='default' Min="0" Max="6" @bind-Value="@Value">
<SliderEvents TValue="int" OnTooltipChange="@TooltipChange" TicksRendering="@TickesRendering"></SliderEvents>
<SliderTicks Placement="Placement.After" LargeStep="1"></SliderTicks>
<SliderTooltip Placement="TooltipPlacement.Before" IsVisible="true"></SliderTooltip>
</SfSlider>
@code{
private int Value = 2;
public void TickesRendering(SliderTickEventArgs args)
{
string[] daysArr = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" };
args.Text = daysArr[int.Parse(args.Value.ToString())];
}
public void TooltipChange(SliderTooltipEventArgs<int> args)
{
args.Text = "Day " + (args.Value + 1).ToString();
}
}