nemo-shen 2c02069808
feat(Slider): add range props (#4442)
* feat(Slider): add range props

for support double slider button

* fix(Slider): 优化代码

* fix(Slider): 优化代码

* fix(Slider): 优化代码

* docs(Slider): update doc
2021-09-06 19:52:44 +08:00

3.5 KiB

Slider 滑块

介绍

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

引入

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

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

代码演示

基本用法

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

指定选择范围

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

禁用

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

指定步长

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

自定义样式

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

自定义按钮

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

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

API

Props

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

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 }