Slider 滑块
在固定范围内拖动滑块。
基础用法
在拖动滑块时显示当前值。
通过设置绑定值来自定义滑块的初始值。
离散值
选项可以是离散的。
通过 step 属性设置步长。 您可以通过设置 show-stops 属性来显示间断点。
带有输入框的滑块
通过输入框设置值。
设置 show-input 属性在右侧显示输入框。
尺寸
位置
您可以自定义提示的显示位置。
范围选择
支持选择一个数值范围。
设置 range 属性即可启用范围模式,此时绑定值是一个由两个边界值组成的数组。
垂直模式
设置 vertical 属性为 true 即可启用垂直模式。 在垂直模式下,height 属性是必填的。
显示标记
设置 marks 属性可以在滑块上显示标记。
限制取值 2.13.6
设置 step="mark" 可以将滑块的值限制在标记处。
API
属性
| 名称 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| model-value / v-model | 绑定值 | number / array | 0 |
| min | 最小值 | number | 0 |
| max | 最大值 | number | 100 |
| disabled | 是否禁用滑块 | boolean | false |
| 步长 | 步长,可以是数字或 `'mark'` 2.13.6 用于将值限制在标记处。 当设置为 `'mark'` 时,必须设置 `marks` 属性 | number / string | 1 |
| show-input | 是否显示输入框,仅在 `range` 为 false 且 `step` 不是 `'mark'` 时有效 | boolean | false |
| show-input-controls | 当 `show-input` 为 true 时是否显示控制按钮 | boolean | true |
| size | 滑块组件的大小,在垂直模式下无效 | 枚举 | default |
| input-size | 输入框的大小,若设置了 `size`,则默认值为 `size` 的值 | 枚举 | default |
| show-stops | 是否显示间断点 | boolean | false |
| show-tooltip | 是否显示提示值 | boolean | true |
| format-tooltip | 格式化提示值的显示内容 | Function | — |
| range | 是否为范围选择 | boolean | false |
| vertical | 垂直模式 | boolean | false |
| 高度 | 滑块高度,在垂直模式下必填 | string | — |
| aria-label a11y 2.7.2 | 原生 aria-label 属性 | string | — |
| range-start-label | 当 `range` 为 true 时,范围起始端的屏幕阅读器标签 | string | — |
| range-end-label | 当 `range` 为 true 时,范围结束端的屏幕阅读器标签 | string | — |
| format-value-text | 格式化屏幕阅读器的 `aria-valuenow` 属性的显示内容 | Function | — |
| tooltip-class | 提示的自定义类名 | string | — |
| placement | Tooltip 的出现位置 | 枚举 | 上 |
| marks | 标记,键的类型必须为 `number` 且必须在闭区间 `[min, max]` 内,每个标记都可以自定义样式 | object | — |
| validate-event | 是否触发表单验证 | boolean | true |
| persistent 2.9.5 | 当滑块提示处于非活动状态且 `persistent` 为 `false` 时,提示将被销毁。 当 `show-tooltip` 为 `false` 时,`persistent` 始终为 `false`。 | boolean | true |
| label a11y 已废弃 | 原生 aria-label 属性 | string | — |
事件
| 名称 | 描述 | 类型 |
|---|---|---|
| change | 值改变时触发(如果是鼠标拖动,则仅在鼠标松开时触发) | Function |
| input | 数据改变时触发(在滑动过程中实时触发) | Function |
类型声明
显示声明
ts
type SliderMarks = Record<number, string | { style: CSSProperties; label: any }>
type Arrayable<T> = T | T[]