Skip to content

滑动选择器 Slider

这个组件让我莫名其妙地想到了滑动变阻器,和这段音乐。😂

基础使用

传入 modelValue 进入受控模式。不传或者为 undefined 则为非受控模式,此时可以传入 defaultValue 属性作为默认值。

Controlled

Uncontrolled

隐藏源代码

范围选择

range 属性可开启范围选择。

隐藏源代码

数值范围、步长、精度

minmax 设置数值范围。step 设置步长,为 0 时不限制步长。

precision 参数控制数值最小精度,取值为 [0, 100] 的整数,为 null 时不限制最小精度。

设置 precision 参数主要是为了处理 JS 浮点数计算中因精度丢失产生的非预期近似值。

隐藏源代码

只读 & 禁用

readonly 设置只读,disabled 设置禁用。它们之间几乎只有样式不一样。

隐藏源代码

标记点

marks 设置标记点,设置 step'mark' 时仅支持选择标记点的数值。

隐藏源代码

标签渲染

mark 插槽自定义标记点的标签渲染。

隐藏源代码

垂直方向

direction 设置滑动选择器方向,垂直时高度默认为容器高度,你也可以自己设置高度。

隐藏源代码

轨道反转

direction 设置滑动选择器方向,垂直时高度默认为容器高度,你也可以自己设置高度。

隐藏源代码

滑块标识

可以使用 thumbthumb-startthumb-end 插槽自定义滑块中的内容。

L
R
隐藏源代码

API

SliderProps

属性类型可选默认值描述版本
modelValuenumber | [number, number] | null滑动选择器的值(受控模式),支持 v-model0.0.3
defaultValuenumber | [number, number] | null滑动选择器的默认值(非受控模式)。0.0.3
minnumber0滑动选择器的最小值(闭区间)。0.0.3
maxnumber100滑动选择器的最大值(闭区间)。0.0.3
rangebooleanfalse范围选择。0.0.3
disabledbooleanfalse禁用状态。0.0.3
readonlybooleanfalse只读状态。0.0.3
stepnumber | 'mark'1数值的步长。0.0.3
marks(number | { value: number; label?: string })[]滑动选择器的标记点。0.0.3
direction'horizontal' | 'vertical''horizontal'滑动选择器的方向。0.0.3
reversebooleanfalse是否反转轨道。0.0.3
precisionnumber | null8数值最小精度,取值为 [0, 100] 的整数,为 null 时不限制。0.0.3
tooltipbooleantrue是否开启文本提示。0.0.3
tooltipPropsOmit<TooltipProps, 'visible' | 'content'> & EmitEvent<TooltipEvents>单值模式时,文本提示 Tooltip 组件的属性。0.0.3
tooltipStartPropsOmit<TooltipProps, 'visible' | 'content'> & EmitEvent<TooltipEvents>范围选择模式时,第一个文本提示 Tooltip 组件的属性。0.0.3
tooltipEndPropsOmit<TooltipProps, 'visible' | 'content'> & EmitEvent<TooltipEvents>范围选择模式时,第二个文本提示 Tooltip 组件的属性。0.0.3
pollSizeChangebooleanfalse开启轮询组件尺寸变化,可能会影响性能。0.1.0

SliderEvents

事件参数描述版本
update:modelValuevalue: number | [number, number]更新 modelValue 的回调。0.0.3
changevalue: number | [number, number]数值变动的回调。0.0.3
dragStartevent: MouseEvent | TouchEvent开始拖拽的回调。0.0.3
dragEndevent: MouseEvent | TouchEvent结束拖拽的回调。0.0.3
markSelectvalue: number, event: MouseEvent选择标记点的回调。0.0.3
focusevent: FocusEvent聚焦滑动选择器的回调。0.0.3
focusevent: FocusEvent聚焦滑动选择器的回调。0.0.3

SliderSlots

插槽参数描述版本
markvalue: number, label: string | undefined标记点标签的渲染。0.0.3
thumb单值模式时,滑块的内容。0.0.3
thumb-start范围选择模式时,第一个滑块的内容。0.0.3
thumb-end范围选择模式时,第二个滑块的内容。0.0.3
tooltip-contentvalue: number文本提示的内容。0.0.3

EmitEvent

ts
export type EmitEvent<T extends Record<string, any>> = {
	[K in keyof T as `on${Capitalize<K & string>}`]?: (...args: T[K]) => void
}