Slider 滑块
通过拖动滑块在一个固定区间内进行选择
基础用法
离散值
带有输入框的滑块
位置
范围选择
垂直模式
显示标记
自定义按钮
API
Props
属性名 | 描述 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
model-value / v-model | 选中项绑定值 | number | — | 0 |
min | 最小值 | number | — | 0 |
max | 最大值 | number | — | 100 |
step | 步长 | number | — | 1 |
show-stops | 是否显示间断点 | boolean | — | false |
show-tooltip | 是否显示提示信息 | boolean | — | true |
format-tooltip | 格式化提示信息 | function(value) | — | — |
tooltip-class | tooltip 的自定义类名 | string | — | — |
show-input | 是否显示输入框,仅在非范围选择时有效 | boolean | — | false |
input-button-size | 按钮大小以及输入框高度,默认单位为 px | number | string | - | 32px |
disabled | 是否禁用 | boolean | — | false |
range | 是否开启选择范围 | boolean | — | false |
vertical | 垂直模式 | boolean | — | false |
height | 滑块高度,垂直模式必填 | string | — | — |
label | 屏幕阅读器标签 | string | — | — |
range-start-label | 当 range 为 true 时,屏幕阅读器标签开始的标记 | string | — | — |
range-end-label | 当 range 为 true 时,屏幕阅读器标签结尾的标记 | string | — | — |
format-value-text | 显示屏幕阅读器的 aria-valuenow 属性的格式 | function(value) | — | — |
placement | Tooltip 出现的位置 | string | enum | top |
marks | 标记, key 的类型必须为 number 且取值在闭区间 [min, max] 内,每个标记可以单独设置样式 | object | — | — |
事件
事件名 | 说明 | 参数 |
---|---|---|
change | 值改变时触发(使用鼠标拖曳时,只在松开鼠标后触发) | val,新状态的值 |
input | 数据改变时触发(使用鼠标拖曳时,活动过程实时触发) | val,改变后的值 |
插槽
名称 | 说明 | 参数 |
---|---|---|
button | 自定义滑块按钮 | - |
类型定义
组件导出以下类型定义:
ts
import type { SliderThemeVars, SliderProps } from 'ryxon'
主题定制
样式变量
组件提供了下列 CSS 变量,可用于自定义样式,使用方法请参考 ConfigProvider 组件。
名称 | 默认值 | 描述 |
---|---|---|
--r-slider-height | 32px | slider 包装器的大小,垂直模式下该属性不可用 |
--r-slider-main-bg-color | var(--r-primary-color) | - |
--r-slider-runway-bg-color | var(--r-border-color-light) | - |
--r-slider-runway-height | 6px | - |
--r-slider-stop-bg-color | var(--r-white) | - |
--r-slider-disabled-color | var(--r-text-color-placeholder) | - |
--r-slider-border-radius | 3px | - |
--r-slider-button-size | 20px | - |
--r-slider-button-wrapper-size | 36px | - |
--r-slider-button-wrapper-offset | -15px | - |