Back to Vant Weapp

Slider 滑块

packages/slider/README.md

1.11.73.6 KB
Original Source

Slider 滑块

介绍

滑动输入条,用于在给定的范围内选择一个值。

引入

app.jsonindex.json中引入组件,详细介绍见快速上手

json
"usingComponents": {
  "van-slider": "@vant/weapp/slider/index"
}

代码演示

基本用法

html
<van-slider value="50" bind:change="onChange" />
js
Page({
  onChange(event) {
    wx.showToast({
      icon: 'none',
      title: `当前值:${event.detail}`,
    });
  },
});

双滑块

添加 range 属性就可以开启双滑块模式,确保 value 的值是一个数组。

html
<van-slider value="{{ [10, 50] }}" range @change="onChange" />
js
Page({
  onChange(event) {
    wx.showToast({
      icon: 'none',
      title: `当前值:${event.detail}`,
    });
  },
});

指定选择范围

html
<van-slider min="-50" max="50" />

禁用

html
<van-slider value="50" disabled />

指定步长

html
<van-slider value="50" step="10" />

自定义样式

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

自定义按钮

html
<van-slider value="{{ currentValue }}" use-button-slot bind:drag="onDrag">
  <view class="custom-button" slot="button">{{ currentValue }}/100</view>
</van-slider>
js
Page({
  data: {
    currentValue: 50,
  },

  onDrag(event) {
    this.setData({
      currentValue: event.detail.value,
    });
  },
});

垂直方向

设置 vertical 属性后,滑块会垂直展示,且高度为 100% 父元素高度。

html
<view style="height: 150px;">
  <van-slider value="50" vertical bind:change="onChange" />
  <van-slider
    value="{{ [10, 50] }}"
    range
    vertical
    style="margin-left: 100px;"
    bind:change="onChange"
  />
</view>
js
Page({
  onChange(event) {
    wx.showToast({
      icon: 'none',
      title: `当前值:${event.detail}`,
    });
  },
});

API

Props

参数说明类型默认值
value当前进度百分比,在双滑块模式下为数组格式number | number[]0
disabled是否禁用滑块booleanfalse
max最大值number100
min最小值number0
step步长number1
bar-height进度条高度,默认单位为 pxstring | number2px
active-color进度条激活态颜色string#1989fa
inactive-color进度条默认颜色string#e5e5e5
use-button-slot是否使用按钮插槽booleanfalse
range v1.8.4是否开启双滑块模式booleanfalse
vertical v1.8.5是否垂直展示booleanfalse

Events

事件名说明参数
bind:drag拖动进度条时触发event.detail.value: 当前进度
bind:change进度值改变后触发event.detail: 当前进度
bind:drag-start开始拖动时触发-
bind:drag-end结束拖动时触发-

外部样式类

类名说明
custom-class根节点样式类

Slots

名称说明参数
button自定义滑块按钮{ value: number }
left-button v1.8.4自定义左侧滑块按钮(双滑块模式下){ value: number }
right-button v1.8.4自定义右侧滑块按钮 (双滑块模式下){ value: number }