Skip to content

Slider 滑动条

支持连续(range)与分段(set)两种模式,支持拖动滑块、点击或拖动轨道、方向键。

连续滑块(range)

Selected: 50.00
0
100
value = 50
vue
<script setup lang="ts">
import { ref } from 'vue'
const v1 = ref(50)
</script>

<template>
  <mc-slider v-model="v1" :min="0" :max="100" :step="5" type="range" />
</template>

分段滑块(set)

Selected: 2
0
1
2
3
4
value = 2
vue
<script setup lang="ts">
import { ref } from 'vue'
const v1 = ref(50)
const v2 = ref(2)
</script>

<template>
  <mc-slider v-model="v1" :min="0" :max="100" :step="5" type="range" />
  <mc-slider v-model="v2" :min="0" :max="4" :segments="4" type="set" />
</template>

自定义颜色

通过 bgcolor 属性设置进度条颜色,覆盖默认绿色。

Selected: 60.00
0
100
Selected: 60.00
0
100
Selected: 60.00
0
100
html
<mc-slider v-model="v" :min="0" :max="100" type="range" bgcolor="#2E6BE5" />
<mc-slider v-model="v" :min="0" :max="100" type="range" bgcolor="#9a3f3f" />
<mc-slider v-model="v" :min="0" :max="100" type="range" bgcolor="#ff8800" />

Tooltip 显示

通过 tip 属性开启拖动时滑块上方的 Tooltip 值显示。

Selected: 50.00
50.00
0
100
value = 50
html
<mc-slider v-model="v" :min="0" :max="100" type="range" tip />

Props

名称类型默认说明
modelValuenumber0当前值(v-model)
min / maxnumber0 / 100取值范围
stepnumber1range 步长(键盘)
segmentsnumber4set 分段数
type'range' | 'set'range模式
showSegmentsbooleantrue显示刻度/端点标签
customSegmentsbooleanfalse启用自定义分段值
segmentValues(string|number)[][]自定义分段值(长度 segments+1
disabledbooleanfalse是否禁用
bgcolorstring''进度条自定义颜色
tipbooleanfalse拖动时在滑块上方显示当前值 Tooltip

Events

事件参数说明
update:modelValuenumberv-model 更新
changenumber值变化

MIT Licensed · 设计语言移植自 Spectrollay-McUI