Skip to content

Slider 滑块


按需引入

::: CopyCode

ts
import { createApp } from 'vue'
import App from './App.vue'
import { MeSlider } from 'mine-h5-ui'
import 'mine-h5-ui/styles/MeSlider.css'

createApp(App).use(MeSlider).mount('#app')

:::

提示

  • 如果你觉得重新编写 HTML 结构麻烦,可以直接复制下面的代码。

代码演示

基础用法

  • 通过 v-model 指令来设置滑块的值。

::: CopyCode

html
<me-slider v-model="value" />

:::

自定义范围

  • 通过 maxmin 属性来设置滑块的范围。max 和 min 属性的默认值分别为 100,0。

::: CopyCode

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

:::

自定义样式

  • 通过 styles 属性来设置滑块的样式。它是一个 Object。具体请查看详情

::: CopyCode

vue
<script lang="ts" setup>
import { ref } from 'vue'

/**
 * 当前滑块值
 */
const sliderValue = ref(30)

/**
 * 自定义滑块样式
 */
const styles = Object.freeze({
  /**
   * 高度
   */
  height: '10px',
  /**
   * 倒角
   */
  radius: '6px',
  /**
   * 线背景色
   */
  lineBgc: '#f60'
})
</script>

<template>
  <me-slider v-model="sliderValue" :styles="styles" />
</template>

:::

自定义按钮

  • 通过 is-btn 属性 和 slot 来设置滑块的自定义按钮。默认为 false。

::: CopyCode

vue
<script lang="ts" setup>
import { ref } from 'vue'

/**
 * 当前滑块值
 */
const sliderValue = ref(30)
</script>

<template>
  <me-slider v-model="sliderValue" :is-btn="true">
    <div class="btn" v-text="sliderValue"></div>
  </me-slider>
</template>

<style scoped lang="less">
.me-slider {
  .btn {
    width: 30px;
    height: 30px;
    line-height: 30px;
    border-radius: 3px;
    background: #f60;
    text-align: center;
    color: #fff;
    font-size: 12px;
  }
}
</style>

:::

禁用状态

  • 通过 disabled 属性来设置滑块的禁用状态。默认为 false。

::: CopyCode

html
<me-slider v-model="value" :disabled="true" />

:::

API

参数

参数说明类型可选值默认值版本
modelValue(v-model)双向绑定滑块的值number------
max范围最大值number--100--
min范围最小值number--0--
styles自定义样式,查看详情Object------
is-btn自定义按钮booleantrue / falsefalse--
disabled禁用状态booleantrue / falsefalse--

styles 属性

参数说明类型可选值默认值版本
height线条高度string--2pxv2.0.0
radius线条倒角string--2pxv2.0.0
lineBgc线条背景色,支持 background 值string--#409effv2.0.0

Slots

具名插槽说明scopedSlots版本
default默认名称----

方法

方法名说明回调参数版本
start开始拖动时触发的事件event: Eventv2.3.5
move正在拖动中触发的事件event: Eventv2.3.5
end结束拖动时触发的事件event: Eventv2.3.5

基于 MIT 许可发布