Slider

Maintainer:
Arucard89
GitHub
tooltipDisplay
disabled
validationState
errorMessage
size
min
max
step
marks
import {Slider} from '@gravity-ui/uikit';

Slider (слайдер) — это настраиваемый и отзывчивый React-компонент, который позволяет пользователям выбирать одно значение или диапазон значений из заданного набора данных.

Варианты слайдера

Одиночный слайдер

Представляет собой слайдер с одним ползунком для выбора одного значения. Используется по умолчанию.

0100

Слайдер диапазона

Представляет собой слайдер с двумя ползунками для выбора диапазона. Для его использования необходимо задать defaultValue (для неконтролируемого компонента) или value (для контролируемого компонента) в виде массива.

0100

Состояния

Disabled (отключен)

Состояние Slider, при котором пользователь не может взаимодействовать с компонентом.

0100

Error (ошибка)

Состояние Slider, которое указывает на некорректный ввод данных пользователем. Для изменения внешнего представления Slider примените свойство validationState, задав ему значение "invalid". Дополнительно через свойство errorMessage можно добавить текст сообщения, который будет отображаться под компонентом.

0100
0100
Error message

Размер

Для изменения размера Slider используйте свойство size. Размер по умолчанию — m.

0100
0100
0100
0100

Значение

Минимальное и максимальное значения

Свойства min и max определяют пределы диапазона, который может обрабатывать Slider. Эти свойства необходимы для установки границ выбираемых значений.

10100
050
2060

Step (шаг)

Свойство step компонента Slider задает величину шага между минимальным и максимальным значениями. Оно контролирует изменение значения при перемещении ползунка.

0100

Метки

Свойство marks задает количество визуальных меток компонента Slider, указывающих на разные значения в диапазоне от минимума до максимума. Данное свойство делает слайдер более удобным для пользователя и улучшает его визуальное оформление, особенно в тех случаях, когда необходимо обозначить конкретные интервалы. Значение по умолчанию — 2 (min и max). Его можно использовать двумя способами:

  • Для задания количества визуальных меток на слайдере:
0102030405060708090100
  • Для указания массива значений меток на слайдере:
050100

Если в свойстве marks указать 0 или пустой массив ([]), то все метки компонента Slider будут скрыты.

Значение метки можно выбрать, даже если оно не соответствует шагу (step).

Формат отображения значений меток можно изменить с помощью свойства marksFormat.

Определение доступных значений

Установка свойства step в null позволяет задать конкретные значения, которые будут доступны на слайдере, вместо непрерывного диапазона. Это особенно полезно в случаях, когда выбор возможен только из заранее определенных дискретных значений. При такой настройке свойства min, max и marks позволяют задать массив чисел, представляющих собой те значения, которые пользователи могут выбрать при работе с компонентом Slider.

102050556580

Стартовая точка трека

Свойство startPoint позволяет задать стартовое значение, относительно которого будет заполняться трек слайдера. При использовании слайдера диапазона либо при использовании инвертированного слайдера, это свойство игнорируется.

0100

Инвертированный трек

Свойство inverted позволяет инвертировать положение трека на слайдере. По умолчанию (так же, как и при false) слайдер отображает трек от min до указателя слайдера. При значении свойства true трек будет отображаться от значения слайдера до max. Данное свойство игнорируется для слайдера диапазона. При установке значения данного свойства в true значение свойства startPoint будет проигнорировано.

0100

Тултип

Свойство tooltipDisplay в компоненте Slider управляет поведением отображения тултипа с текущим значением при взаимодействии пользователя со слайдером. Значение auto позволяет отображать тултип только при наведении курсора на ползунок компонента Slider или получении компонентом фокуса.

0
0100

Формат отображения значения тултипа можно изменить с помощью свойства tooltipFormat. Если не указать tooltipformat, то для отображения значения в тултипе будет использовано свойство marksFormat.

Свойства

ИмяОписаниеТипЗначение по умолчанию
apiRefСсылка на свойства focus and blur компонента Slider.RefObject<SliderRef>
autoFocusАтрибут autofocus для контрола.boolean
classNameИмя класса обертки контрола.string
defaultValueЗначение по умолчанию для контрола, используемое при неконтролируемом состоянии компонента. Если не заполнено, то использует мимнимальное значение слайдераnumber [number, number]
disabledУказывает на то, что пользователь не может взаимодействовать с контролом.booleanfalse
errorMessageОтображаемый текст ошибки.string
marksТекстовые метки под слайдером. В данном свойстве можно задать количество меток или массив значений, для которых они должны отображаться. При указании 0 или [] метки не отображаются.number number[]2
marksFormatОпределяет форматирование отображаемого значения метки.(value: number) => string
maxМаксимальное значение компонента.number100
minМинимальное значение компонента.number0
onBlurСрабатывает, когда контрол теряет фокус. Передает событие фокуса в качестве аргумента обратного вызова.((e: FocusEvent<HTMLDivElement, Element>) => void)
onUpdateСрабатывает, когда пользователь изменяет значение слайдера. Передает событие изменения в качестве аргумента обратного вызова.((value: number | [number, number]) => void)
onUpdateCompleteАктивируется при срабатывании события ontouchend (завершение касания) или onmouseup (отпускание кнопки мыши). Передает событие изменения в качестве аргумента обратного вызова.((value: number | [number, number]) => void)
onFocusСрабатывает, когда контрол получает фокус. Передает событие фокуса в качестве аргумента обратного вызова.((e: FocusEvent<HTMLDivElement, Element>) => void)
sizeРазмер контрола."s" "m" "l" "xl""m"
stepВеличина, на которую изменяется значение слайдера при каждом перемещении ползунка. Если установить значение null, в качестве шагов будет использоваться свойство marks.number null1
startPointЗадает стартовое значение, относительно которого будет заполняться трек слайдера. При использовании слайдера диапазона либо при использовании инвертированного слайдера, это свойство игнорируется.number
invertedИнвертированное отображение трека (от текущего значения до max).boolean

| tabIndex | Атрибут tabIndex для контрола. | number [number, number] | | | tooltipDisplay | Управляет поведением отображения тултипа. | off on auto | off | | tooltipFormat | Определяет форматирование отображаемого значения тултипа. Если значение не задано, используется marksFormat. | (value: number) => string | | | validationState | Состояние валидации. | "invalid" | | | value | Значение контрола. | number [number, number] | |