Skip to content

Slider 滑块

xy-slider 适合阈值调节、价格区间、音量、权重和后台配置面板里的连续值调整场景。提供直接的 API 和样式实现。

基础用法

最常见的用法是配合 v-model 绑定一个数值,通过点击轨道、拖拽圆点或键盘方向键来调整值。

基础用法数值选择

滑块用于在范围内选择数值,适合预算、温度等连续值场景。

范围选择

开启 range 后,会渲染两个拖拽点并输出 [start, end] 形式的数组。

区间:18 - 72

输入框与断点

show-input 适合让用户精确回填具体数值,show-stops 则适合把步长节奏展示出来。

输入框和滑块联动:40

表单场景

放在 xy-form-item 里时,xy-slider 会参与 change / blur 校验链路。

键盘与交互约定

  • ArrowLeft / ArrowDown 减少一个步长,ArrowRight / ArrowUp 增加一个步长。
  • PageUp / PageDown 按 4 个步长跳变;Home / End 直接跳到最小值或最大值。
  • 开启 range 后,点击轨道会优先移动距离点击位置更近的拖拽点。

API

Slider Attributes

属性说明类型默认值
model-value当前值SliderValue0
id根节点 idstringundefined
min最小值number0
max最大值number100
step步长number1
show-input是否显示输入框booleanfalse
show-input-controls输入框是否显示控制按钮booleantrue
size滑块尺寸SliderProps["size"]跟随全局配置
input-size输入框尺寸SliderProps["inputSize"]跟随 size
show-stops是否显示步长断点booleanfalse
show-tooltip是否显示 tooltipbooleantrue
format-tooltiptooltip 格式化函数SliderProps["formatTooltip"]undefined
disabled是否禁用booleanfalse
range是否为范围选择booleanfalse
vertical是否纵向展示booleanfalse
height纵向模式下的轨道高度string'180px'
range-start-label范围起点的无障碍说明string'起始值'
range-end-label范围终点的无障碍说明string'结束值'
format-value-textaria-valuetext 格式化函数SliderProps["formatValueText"]undefined
tooltip-classtooltip 自定义类名string''
placementtooltip 位置SliderPlacement'top'
validate-event是否触发表单校验booleantrue
persistenttooltip 隐藏时是否保留 DOMbooleantrue
aria-label单值模式下的无障碍说明stringundefined

Slider Events

事件说明参数
update:model-value当前值变化时触发SliderValueChangeHandler
input拖拽或输入过程中触发SliderValueChangeHandler
change提交变更后触发SliderValueChangeHandler
focus拖拽点获得焦点时触发SliderFocusHandler
blur拖拽点失去焦点时触发SliderFocusHandler

Slider Exposes

暴露项说明类型
focus聚焦第一个点SliderInstance["focus"]
blur让拖拽点失焦SliderInstance["blur"]