ant-design-blazor/components/slider/Slider.razor
Brian Ding 1fa3652d26 feat(module: slider): implement two-way binding (#329)
* feat(module: slider): implement two-way binding

* feat(module: slider): remove mouseup handler

* feat(module: slider): inherits from AntInputComponentBase

* fix(module: slider): onclick will be fired with onmouseup

* feat(module: slider): move convert method to public extensions

* feat(module: slider): update to fit form component

* fix(module: slider): two-way binding does not notify value change

* feat(module: slider): update input demo with two-way binding

* feat(module: slider): remove OnProertyChanged
2020-07-15 20:02:39 +08:00

44 lines
1.8 KiB
C#

@namespace AntDesign
@typeparam TValue
@inherits AntInputComponentBase<TValue>
<div class="@ClassMapper.Class" style="@Style" id="@Id" @ref="_slider"
@onmousedown="(e)=>OnMouseDown(e)">
<div class="ant-slider-rail">
</div>
@if (Included)
{
<div class="ant-slider-track @(Range?"ant-slider-track-1":string.Empty)" style="@_trackStyle">
</div>
}
<div class="ant-slider-step">
@if (Marks != null)
{
@foreach (SliderMark mark in Marks)
{
<span class="ant-slider-dot @IsActiveMark(mark.Key)" style=@($"{(Vertical?"bottom":"left")}: {SetMarkPosition(mark.Key)};")></span>
}
}
</div>
@if (Range)
{
<div tabindex="0" class="ant-slider-handle ant-slider-handle-1" role="slider" aria-disabled="@Disabled.ToString()" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" style="@_leftHandleStyle" @ref="_leftHandle">
</div>
<div tabindex="0" class="ant-slider-handle ant-slider-handle-2" role="slider" aria-disabled="@Disabled.ToString()" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" style="@_rightHandleStyle" @ref="_rightHandle">
</div>
}
else
{
<div tabindex="0" class="ant-slider-handle" role="slider" aria-disabled="false" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" style="@_rightHandleStyle" @ref="_rightHandle">
</div>
}
<div class="ant-slider-mark">
@if (Marks != null)
{
@foreach (SliderMark mark in Marks)
{
<span class="ant-slider-mark-text ant-slider-mark-text-active" style=@($"{(Vertical?"bottom":"left")}: {SetMarkPosition(mark.Key)}; {(Vertical?"margin-bottom: -50%;":"transform: translateX(-50%);")}" + mark.Style)>@mark.Value</span>
}
}
</div>
</div>