Skip to content

Slider 滑块

允许用户在给定范围内选择值的输入控件。

基础用法

Value: 50
Example

范围选择

如果绑定值是一个数组,它会自动渲染为双滑块范围选择器。

Range: 25 - 75
Example

刻度与步长

你可以设置步长值,并使用 marks 属性显示自定义刻度。使用 showTooltip 在悬停/拖动时显示当前值。

0°C
20°C
50°C
100°C
Example

尺寸

使用 size 属性来控制滑块的大小。支持的尺寸有 xs, sm, md (默认), lg, xl, 2xl

Extra Small (xs)
Small (sm)
Medium (md) - Default
Large (lg)
Extra Large (xl)
2X Large (2xl)
Example

状态

使用 disabled 属性禁用滑块,或使用 isError 属性显示验证错误状态。

Disabled:
Error:
Example

主题定制

全局定制 (BrConfigProvider)

你可以通过 BrConfigProvider 轻松覆盖默认滑块外观(颜色、背景)。

Themed Slider

Example

局部定制 (TailwindCSS)

你可以直接传递 Tailwind 类来定位滑块的特定部分。

vue
<template>
  <div class="w-[60%] py-8">
    <BrSlider 
      v-model="value" 
      class="[&_[data-radix-slider-range]]:bg-green-500 [&_[data-radix-slider-thumb]]:border-green-500 [&_[data-radix-slider-thumb]]:border-4"
    />
  </div>
</template>

API

Props

属性名类型默认值说明
modelValuenumber | number[]undefined滑块的绑定值。数组用于范围滑块。
defaultValuenumber | number[][0]非受控状态的默认值。
minnumber0最小值。
maxnumber100最大值。
stepnumber1步长。
disabledbooleanfalse是否禁用滑块。
orientation'horizontal' | 'vertical''horizontal'滑块方向。
dir'ltr' | 'rtl''ltr'阅读方向。
invertedbooleanfalse是否视觉反转滑块。
minStepsBetweenThumbsnumber0滑块之间的最小步数。
size'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl''md'滑块尺寸变体。
marksboolean | Record<number, string>false轨道上的自定义刻度。
showTooltipboolean | 'always' | 'hover'false悬停/激活时显示提示。
isErrorbooleanfalse表单验证的错误状态。

Emits

事件名说明参数
update:modelValue当值改变时触发(value: number | number[])
valueCommit当交互结束时触发(例如鼠标抬起)(value: number | number[])