仅桌面端保证样式
Slider 滑块
在数值区间内拖动手柄取值,支持单值与区间(range)双手柄、垂直布局、步进挡点、marks 刻度与数值输入框联动。拖动结束提交 update:modelValue 与 change,拖动过程中实时触发 input;区间模式两手柄互相不越过。手柄获得焦点后支持方向键步进、PageUp / PageDown 大步调整、Home / End 跳到最小最大值。
基础用法
v-model 绑定数值;range 开启区间双手柄模式(此时绑定值为 [start, end] 数组);disabled 禁用拖拽与键盘。
取值联动
绑定值可实时展示在任意自定义内容中;下方文本随拖动同步。
当前值:30,区间值:20 - 60
取值范围与步长
min / max 限定范围,step 为步长(可为小数),取值会自动吸附到步进挡位。
当前值:4
步进挡点与刻度
show-stops 按步长显示挡点,marks 在轨道上标注刻度文本(key 为数值,值可为文本或 { label, style }),format-tooltip 自定义悬停气泡文案。
气泡显示
show-tooltip 关闭后拖动与悬停均不出现气泡,适合与 marks 或外部数值展示搭配。
垂直模式与数值输入
vertical 切换为垂直滑块(需同时指定 height);show-input 在水平单值模式下联动一个数字输入框,show-input-controls 可去掉增减按钮,input-size 控制输入框尺寸。
API
Slider Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| v-model | 绑定值,range 时为 [start, end] | number | array | 0 |
| min / max | 取值范围 | number | 0 / 100 |
| step | 步长(可为小数),取值吸附到步进挡位 | number | 1 |
| range | 区间模式(双手柄,绑定值为数组,两手柄互不越过) | boolean | false |
| vertical | 垂直模式 | boolean | false |
| height | 垂直模式轨道高度(如 200px) | string | |
| disabled | 禁用拖拽 / 点击 / 键盘 | boolean | false |
| showTooltip | 拖拽/悬停时显示气泡 | boolean | true |
| formatTooltip | 气泡文案格式化 | (value) => string | — |
| showInput | 显示数值输入框(仅水平单值模式) | boolean | false |
| showInputControls | 输入框增减按钮 | boolean | true |
| inputSize | 输入框尺寸 | string | small |
| showStops | 显示步进挡点(不含首尾) | boolean | false |
| marks | 刻度标记,key 为位置值,值可为文本或 { label, style } | object | null |
| label / ariaLabel | 无障碍标签 | string | |
| debounce | 防抖间隔(预留,当前实现未使用) | number | 300 |
Events
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| update:modelValue | 值提交(拖拽结束、键盘调整、输入框确认) | (value) => void | — |
| input | 拖拽/键盘过程中实时触发 | (value) => void | — |
| change | 与 update:modelValue 同步触发 | (value) => void | — |
Methods
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| focus | 聚焦当前激活手柄 | () => void | — |
| blur | 激活手柄失焦 | () => void | — |