SusRangeSlider

Dual-thumb слайдер — выбор min/max диапазона внутри границ.
Пакет
SusKit · Атомы (коммерческий)
SusKit · Atoms
Свойства
| Имя | Тип | По умолчанию | |
|---|---|---|---|
Value | Prop<float[]> | new float[] { 0f, 100f } | v-model |
Min | Prop<float> | 0f | v-model |
Max | Prop<float> | 100f | v-model |
Step | Prop<float> | 1f | v-model |
Color | Prop<string> | "primary" | v-model |
Disabled | Prop<bool> | false | v-model |
Readonly | Prop<bool> | false | v-model |
ShowLabel | Prop<bool> | false | v-model |
ShowTicks | Prop<bool> | false | v-model |
TickLabels | Prop<string> | "" | v-model |
ThumbLabel | Prop<string> | "hidden" | v-model |
Error | Prop<string> | "" | v-model |
MinLabelText | Prop<string> | "0" | v-model |
MaxLabelText | Prop<string> | "100" | v-model |
Слоты
Слотов нет.
События
| Имя | Поле | Payload |
|---|---|---|
ValueChanged | OnValueChanged | float[] |
DragStart | OnDragStart | — |
DragEnd | OnDragEnd | — |
Хуки стиля
Контракт USS-классов — внешний вид переопределяется без правки C#. Состояния переключаются этими классами:
keyboard-focussus-range-slidersus-range-slider__fillsus-range-slider__thumbsus-range-slider__thumb-dotsus-range-slider__thumb-labelsus-range-slider__thumb-ripplesus-range-slider__thumb-ripple--activesus-range-slider__thumb-tooltipsus-range-slider__thumb-tooltip-arrowsus-range-slider__ticksus-range-slider__tick-labelsus-range-slider__tickssus-range-slider__tracksus-range-slider--dangersus-range-slider--disabledsus-range-slider--draggingsus-range-slider--errorsus-range-slider--has-thumb-labelsus-range-slider--primarysus-range-slider--readonlysus-range-slider--secondarysus-range-slider--successsus-range-slider--warning
Использование
xml
<template>
<sus:SusRangeSlider :Value="LevelRange.Value"
Min="1"
Max="100"
Step="1"
Color="primary"
ShowLabel="true"
@value-changed="OnRange" />
</template>
<script>
public Prop<float[]> LevelRange = new(new float[] { 10f, 40f });
void OnRange(float[] range) { /* range[0], range[1] */ }
</script>csharp
var range = new SusRangeSlider();
range.Min.Value = 0f;
range.Max.Value = 100f;
range.Value.Value = new float[] { 25f, 75f };
range.ThumbLabel.Value = "always";
range.OnValueChanged += values => { /* … */ };Заметки
Value— всегдаfloat[]из двух элементов (low, high).ThumbLabel:hidden·hover·always.