Skip to content

Slider 滑动选择器

该组件一般用于表单中,手动选择一个区间范围的场景。

平台差异说明

AppH5微信小程序支付宝小程序百度小程序头条小程序QQ小程序
兼容中兼容中兼容中兼容中

基本使用

需要通过v-model绑定一个值,来初始化滑块的选择值(minmax之间),这个值是双向绑定的,您可以通过这个值,实时地得知内部的滑动结果。

vue
<template>
  <tn-slider v-model="value"></tn-slider>
</template>

<script>
  export default {
    data() {
      return {
        value: 30
      }
    }
  }
</script>

设置最大最小值

设置minmax可以设置滑动条的最小最大值。

vue
<tn-slider v-model="value" :mix="20" :max="60"></tn-slider>

设置步进值

设置step参数可以设置步进值,就是每一次滑动时跳变的值。

提示

需要注意的是,这个step必须要被max值整除,否则会出现无法无法滑动到最大值的情况。

vue
<tn-slider v-model="value" :mix="20" :max="60" :step="5"></tn-slider>

自定义滑动选择器的样式

  • 通过inactiveColor配置底部滑动条背景颜色
  • 通过activeColor配置底部选择部分的背景颜色
  • 通过blockWidth配置滑块宽度(高等于宽)
  • 通过blockColor配置滑动按钮按钮的颜色
  • 通过height配置滑块条高度,单位rpx
vue
<tn-slider v-model="value" activeColor="red" blockColor="green"></tn-slider>

自定义滑块的内容和样式

如果需要使用自定义的滑块只需要在tn-slider组件中包裹自定义的滑块即可。

vue
<template>
  <tn-slider v-model="value">
    <view class="tn-slider__custom-block">
      {{ value }}
    </view>
  </tn-slider>
</template>

<script>
  export default {
    data() {
      return {
        value: 30
      }
    }
  }
</script>

<style lang="scss" scoped>
  .tn-slider__custom-block {
    background-color: $tn-color-orange;
    width: auto;
    height: 40rpx;
    line-height: 40rpx;
    padding: 0 5rpx;
    border-radius: 50%;
    text-align: center;
    color: #FFFFFF;
  }
</style>

API

Props

属性名说明类型默认值可选值
v-model用于双向绑定当前选中的值Number|String0-
min允许选择的最小值Number0-
max允许选择的最大值Number100-
step每一次滑动的步进值Number1-
disabled禁止滑动滑块Booleanfalsetrue
blockWidth滑块的宽度,单位rpxNumber30-
lineHeight滑动条的高度,单位rpxNumber8-
activeColor滑动条激活时的颜色String#01BEFF-
inactiveColor滑动条未激活时的颜色String#E6E6E6-
blockColor滑块的颜色String#FFFFFF-
blockStyle滑块自定义样式Object--

Slots

名称说明
default存放自定义滑块的内容

Event

事件名称说明回调参数
start滑块开始滑动-
moving滑块正在滑动-
end滑块结束滑动-