Skip to content

Slider - Vant 4

Slider

Intro

Used to select a value within a given range.

Install

Register component globally via app.use, refer to Component Registration for more registration ways.

js
import { createApp } from'vue'; import { Slider } from'vant'; const app = createApp(); app.use(Slider);

Usage

Basic Usage

html
js
import { ref } from'vue'; import { showToast } from'vant'; exportdefault { setup() { const value = ref(50); constonChange = (value) => showToast('Current value: ' + value); return { value, onChange, }; }, };

Dual thumb

Add range attribute to open dual thumb mode.

html
js
import { ref } from'vue'; import { showToast } from'vant'; exportdefault { setup() { // value must be an Arrayconst value = ref([10, 50]); constonChange = (value) => showToast('Current value: ' + value); return { value, onChange, }; }, };

Range

html

Disabled

html

Step size

html

Custom style

html

Custom button

html

Vertical

html
js
import { ref } from'vue'; import { showToast } from'vant'; exportdefault { setup() { const value = ref(50); const value2 = ref([10, 50]); constonChange = (value) => showToast('Current value: ' + value); return { value, value2, onChange, }; }, };

API

Props

AttributeDescriptionTypeDefault
v-modelCurrent value*number[number, number]*
maxMax value*numberstring*
minMin value*numberstring*
stepStep size*numberstring*
bar-heightHeight of bar*numberstring*
button-sizeButton size*numberstring*
active-colorActive color of barstring#1989fa

| inactive-color | Inactive color of bar | string | #e5e5e5 |

| range | Whether to enable dual thumb mode | boolean | false | | reverse | Whether to reverse slider | boolean | false | | disabled | Whether to disable slider | boolean | false | | readonly | Whether to be readonly | boolean | false | | vertical | Whether to display slider vertically | boolean | false |

Events

EventDescriptionArguments
update:model-valueEmitted when value is changingvalue: number
changeEmitted after value changedvalue: number
drag-startEmitted when start draggingevent: TouchEvent
drag-endEmitted when end draggingevent: TouchEvent

Slots

NameDescriptionSlotProps
buttonCustom button{ value: number, dragging: boolean }
left-buttonCustom left button in range mode{ value: number, dragging: boolean, dragIndex?: number }
right-buttonCustom right button in range mode{ value: number, dragging: boolean, dragIndex?: number }

Types

The component exports the following type definitions:

ts
importtype { SliderProps } from'vant';

Theming

CSS Variables

The component provides the following CSS variables, which can be used to customize styles. Please refer to ConfigProvider component.

NameDefault ValueDescription
--van-slider-active-backgroundvar(--van-primary-color)-
--van-slider-inactive-backgroundvar(--van-gray-3)-
--van-slider-disabled-opacityvar(--van-disabled-opacity)-
--van-slider-bar-height2px-
--van-slider-button-width24px-
--van-slider-button-height24px-
--van-slider-button-radius50%-
--van-slider-button-backgroundvar(--van-white)-
--van-slider-button-shadow0 1px 2px rgba(0, 0, 0, 0.5)-

Enterprise-level mobile solution based on Vant