Slider 滑块

通过拖动滑块在一个固定区间内进行选择

基础用法

在拖动滑块时,显示当前值

Slider 滑块 - 图1

通过设置绑定值自定义滑块的初始值

  1. <template>
  2. <div class="block">
  3. <span class="demonstration">默认</span>
  4. <el-slider v-model="value1"></el-slider>
  5. </div>
  6. <div class="block">
  7. <span class="demonstration">自定义初始值</span>
  8. <el-slider v-model="value2"></el-slider>
  9. </div>
  10. <div class="block">
  11. <span class="demonstration">隐藏 Tooltip</span>
  12. <el-slider v-model="value3" :show-tooltip="false"></el-slider>
  13. </div>
  14. <div class="block">
  15. <span class="demonstration">格式化 Tooltip</span>
  16. <el-slider v-model="value4" :format-tooltip="formatTooltip"></el-slider>
  17. </div>
  18. <div class="block">
  19. <span class="demonstration">禁用</span>
  20. <el-slider v-model="value5" disabled></el-slider>
  21. </div>
  22. </template>
  23. <script>
  24. export default {
  25. data() {
  26. return {
  27. value1: 0,
  28. value2: 50,
  29. value3: 36,
  30. value4: 48,
  31. value5: 42
  32. }
  33. },
  34. methods: {
  35. formatTooltip(val) {
  36. return val / 100;
  37. }
  38. }
  39. }
  40. </script>

离散值

选项可以是离散的

Slider 滑块 - 图2

改变step的值可以改变步长,通过设置show-stops属性可以显示间断点

  1. <template>
  2. <div class="block">
  3. <span class="demonstration">不显示间断点</span>
  4. <el-slider
  5. v-model="value1"
  6. :step="10">
  7. </el-slider>
  8. </div>
  9. <div class="block">
  10. <span class="demonstration">显示间断点</span>
  11. <el-slider
  12. v-model="value2"
  13. :step="10"
  14. show-stops>
  15. </el-slider>
  16. </div>
  17. </template>
  18. <script>
  19. export default {
  20. data() {
  21. return {
  22. value1: 0,
  23. value2: 0
  24. }
  25. }
  26. }
  27. </script>

带有输入框

通过输入框设置精确数值

Slider 滑块 - 图3

设置show-input属性会在右侧显示一个输入框

  1. <template>
  2. <div class="block">
  3. <el-slider
  4. v-model="value"
  5. show-input>
  6. </el-slider>
  7. </div>
  8. </template>
  9. <script>
  10. export default {
  11. data() {
  12. return {
  13. value: 0
  14. }
  15. }
  16. }
  17. </script>

范围选择

支持选择某一数值范围

Slider 滑块 - 图4

设置range即可开启范围选择,此时绑定值是一个数组,其元素分别为最小边界值和最大边界值

  1. <template>
  2. <div class="block">
  3. <el-slider
  4. v-model="value"
  5. range
  6. show-stops
  7. :max="10">
  8. </el-slider>
  9. </div>
  10. </template>
  11. <script>
  12. export default {
  13. data() {
  14. return {
  15. value: [4, 8]
  16. }
  17. }
  18. }
  19. </script>

竖向模式

Slider 滑块 - 图5

设置vertical可使 Slider 变成竖向模式,此时必须设置高度height属性

  1. <template>
  2. <div class="block">
  3. <el-slider
  4. v-model="value"
  5. vertical
  6. height="200px">
  7. </el-slider>
  8. </div>
  9. </template>
  10. <script>
  11. export default {
  12. data() {
  13. return {
  14. value: 0
  15. }
  16. }
  17. }
  18. </script>

展示标记

Slider 滑块 - 图6

设置 marks 属性可以展示标记

  1. <template>
  2. <div class="block">
  3. <el-slider
  4. v-model="value"
  5. range
  6. :marks="marks">
  7. </el-slider>
  8. </div>
  9. </template>
  10. <script>
  11. export default {
  12. data() {
  13. return {
  14. value: [30, 60],
  15. marks: {
  16. 0: '0°C',
  17. 8: '8°C',
  18. 37: '37°C',
  19. 50: {
  20. style: {
  21. color: '#1989FA'
  22. },
  23. label: this.$createElement('strong', '50%')
  24. }
  25. }
  26. }
  27. }
  28. }
  29. </script>

Attributes

参数说明类型可选值默认值
value / v-model绑定值number0
min最小值number0
max最大值number100
disabled是否禁用booleanfalse
step步长number1
show-input是否显示输入框,仅在非范围选择时有效booleanfalse
show-input-controls在显示输入框的情况下,是否显示输入框的控制按钮booleantrue
input-size输入框的尺寸stringlarge / medium / small / minismall
show-stops是否显示间断点booleanfalse
show-tooltip是否显示 tooltipbooleantrue
format-tooltip格式化 tooltip messagefunction(value)
range是否为范围选择booleanfalse
vertical是否竖向模式booleanfalse
heightSlider 高度,竖向模式时必填string
label屏幕阅读器标签string
debounce输入时的去抖延迟,毫秒,仅在show-input等于true时有效number300
tooltip-classtooltip 的自定义类名string
marks标记, key 的类型必须为 number 且取值在闭区间 [min, max] 内,每个标记可以单独设置样式object

Events

事件名称说明回调参数
change值改变时触发(使用鼠标拖曳时,只在松开鼠标后触发)改变后的值