引入

import Vue from 'vue';
import { Slider } from 'vant';

Vue.use(Slider);

代码演示

基本用法

<van-slider v-model="value" @change="onChange" />
import { Toast } from 'vant';

export default {
  data() {
    return {
      value: 50
    };
  },
  methods: {
    onChange(value) {
      Toast('当前值:' + value);
    }
  }
};

指定选择范围

<van-slider v-model="value" :min="-50" :max="50" />

禁用

<van-slider v-model="value" disabled />

指定步长

<van-slider v-model="value" :step="10" />

自定义样式

<van-slider
  v-model="value"
  bar-height="4px"
  active-color="#ee0a24"
/>

自定义按钮

<van-slider v-model="value" active-color="#ee0a24">
  <div slot="button" class="custom-button">
    {{ value }}
  </div>
</van-slider>

<style>
.custom-button {
  width: 26px;
  color: #fff;
  font-size: 10px;
  line-height: 18px;
  text-align: center;
  background-color: #ee0a24;
  border-radius: 100px;
}
</style>

垂直方向

Slider 垂直展示时,高度为 100% 父元素高度

<div :style="{ height: '100px' }">
  <van-slider v-model="value" vertical />
</div>

API

Props

value当前进度百分比number0
max最大值number | string100
min最小值number | string0
step步长number | string1
bar-height进度条高度,默认单位为pxnumber | string2px
button-size v2.4.5滑块按钮大小,默认单位为pxnumber | string24px
active-color进度条激活态颜色string#1989fa
inactive-color进度条非激活态颜色string#e5e5e5
disabled是否禁用滑块booleanfalse
vertical是否垂直展示booleanfalse

Events

input进度变化时实时触发value: 当前进度
change进度变化且结束拖动后触发value: 当前进度
drag-start开始拖动时触发-
drag-end结束拖动时触发-

Slots

button自定义滑动按钮


实例演示

07-05 12:39