# Slider 滑块
# 引入
在 app.json 或 index.json 中引入组件,详细介绍见快速上手
"usingComponents": {
"lin-slider": "/dist/slider/index"
}
# 基本用法
通过value
属性绑定值
代码示例
<lin-slider data-key="value1" value="{ {value1}}" bind:change="onChange" />
Page({
data: {
value1: 50,
},
onChange(event) {
const key = event.currentTarget.dataset.key;
this.setData({
[key]: event.detail,
});
wx.showToast({
icon: "none",
title: `当前值是${event.detail}`,
});
},
});
# 指定选择范围
通过min
和max
属性指定范围
代码示例
<lin-slider
min="-50"
max="50"
data-key="value2"
value="{ {value2}}"
bind:change="onChange"
/>
Page({
data: {
value2: 10,
},
onChange(event) {
const key = event.currentTarget.dataset.key;
this.setData({
[key]: event.detail,
});
wx.showToast({
icon: "none",
title: `当前值是${event.detail}`,
});
},
});
# 禁用
通过disabled
属性设置为禁用状态
代码示例
<lin-slider
disabled
data-key="value3"
value="{ {value3}}"
bind:change="onChange"
/>
Page({
data: {
value3: 50,
},
onChange(event) {
const key = event.currentTarget.dataset.key;
this.setData({
[key]: event.detail,
});
wx.showToast({
icon: "none",
title: `当前值是${event.detail}`,
});
},
});
# 指定步长
通过step
属性设置指定步长
代码示例
<lin-slider
step="10"
data-key="value4"
value="{ {value4}}"
bind:change="onChange"
/>
Page({
data: {
value4: 50,
},
onChange(event) {
const key = event.currentTarget.dataset.key;
this.setData({
[key]: event.detail,
});
wx.showToast({
icon: "none",
title: `当前值是${event.detail}`,
});
},
});
# 自定义样式
通过bar-height
,active-colo
等属性可自定义样式
代码示例
<lin-slider
bar-height="4px"
active-color="#ee0a24"
data-key="value5"
value="{ {value5}}"
bind:change="onChange"
/>
Page({
data: {
value5: 50,
},
onChange(event) {
const key = event.currentTarget.dataset.key;
this.setData({
[key]: event.detail,
});
wx.showToast({
icon: "none",
title: `当前值是${event.detail}`,
});
},
});
# 自定义按钮
通过插槽 button
可自定义按钮
代码示例
<lin-slider
active-color="#ee0a24"
use-button-slot
data-key="value6"
value="{ {value6}}"
bind:drag="onDrag"
>
<view class="slider-custom-button" slot="button">
{ { value6 }}
</view>
</lin-slider>
Page({
data: {
value6: 50,
},
onDrag(event) {
const key = event.currentTarget.dataset.key;
this.setData({
[key]: event.detail,
});
},
});
# 属性
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
value | 当前进度百分比,取值范围为 0-100 | Number | 0-100 | 0 |
disabled | 是否禁用滑块 | Boolean | — | false |
max | 最大值 | Number | — | 100 |
min | 最小值 | Number | — | 0 |
step | 步长 | Number | — | 1 |
barHeight | 进度条高度,默认单位为 px | String, Number | — | 2px |
activeColor | 进度条激活态颜色 | String | — | — |
inactiveColor | 进度条默认颜色 | String | — | — |
useButtonSlot | 是否使用 button 插槽 | Boolean | — | false |
# 事件
事件名 | 说明 | 参数 |
---|---|---|
bind:drag-start | 开始拖动时触发 | — |
bind:drag-end | 结束拖动时触发 | — |
bind:change | 进度值改变后触发 | 当前进度 |
bind:drag | 拖动进度条时触发 | 当前进度 |
# 插槽
插槽名称 | 说明 |
---|---|
button | 自定义按钮插槽,需要在useButtonSlot 为 true 时才会显示 |
# 外部样式类
类名 | 说明 |
---|---|
custom-class | 根节点样式类 |
bar-class | 进度条样式类 |
button-class | 按钮样式类 |
← Search 搜索 Stepper 步进器 →