# Ползунок

Ввод ползунком. Поддержка min/max/step, диапазона range с двумя ползунками, меток шкалы marks, вывода значения showInput, трёх размеров и отключения; управление мышью и сенсорным экраном.

Ползунок
<template>
  <div class="demo-col" style="max-width: 520px; gap: 26px">
    <div>
      <LhSlider v-model="single" :min="0" :max="100" :step="5" show-input />
      <p class="demo-note">min=0 max=100 step=5 showInput: {{ single }}</p>
    </div>
    <div>
      <LhSlider v-model="ranged" range :min="10" :max="90" :step="10" />
      <p class="demo-note">range — два ползунка: {{ JSON.stringify(ranged) }}</p>
    </div>
    <div>
      <LhSlider v-model="marked" :min="0" :max="100" :marks="marks" />
      <p class="demo-note">marks — метки шкалы: {{ marked }}</p>
    </div>
    <div>
      <LhSlider v-model="single" size="small" />
      <LhSlider v-model="single" disabled />
      <p class="demo-note">size="small" и disabled</p>
    </div>
  </div>
</template>

<script>
export default {
  data: () => ({
    single: 35,
    ranged: [20, 60],
    marked: 40,
    marks: { 0: 'Начало мазка', 50: 'Ведение мазка', 100: 'Завершение мазка' },
  }),
}
</script>

# Props

Проп Описание Тип По умолчанию
v-model Привязанное значение; для range — [start, end] (model: modelValue/input) number \| [number, number] \| null —
min Минимум number 0
max Максимум number 100
step Шаг изменения number 1
range Режим с двумя ползунками boolean false
marks Метки шкалы { value: label } Record<number, string> —
showInput Показывать текст со значением boolean false
size Размер (высота дорожки) 'small' \| 'medium' \| 'large' 'medium'
disabled Отключение boolean false
sx Проп sx для быстрого макета — —

# Events

Событие Описание Параметры обратного вызова
input Событие v-model (val)
change Срабатывает при изменении значения (val)

# Доступность

Бегунок ползунка — role="slider" + aria-valuemin/max/now; при размещении внутри LhFormItem и ошибке валидации устанавливается aria-invalid.

Copyright © 2024-2026 FengMo WenXue