Skip to content

slidercomponent Slider

Basic Usage

<template>
  <div>
    <b-slider v-model="value1"></b-slider>
    <div class="p10"></div>
    <b-slider v-model="value2" range></b-slider>
    <div class="p10"></div>
    <b-slider v-model="value3" range disabled></b-slider>
  </div>
</template>

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

const value1 = ref(25)
const value2 = ref([20, 60])
const value3 = ref([30, 40])
</script>

Step and Stops

<template>
  <div>
    <b-slider v-model="value4" :step="10"></b-slider>
    <div class="p10"></div>
    <b-slider v-model="value5" :step="10" show-stops></b-slider>
    <div class="p10"></div>
    <b-slider v-model="value6" :step="10" range></b-slider>
    <div class="p10"></div>
    <b-slider v-model="value7" :step="10" range show-stops></b-slider>
  </div>
</template>

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

const value4 = ref(30)
const value5 = ref(35)
const value6 = ref([20, 40])
const value7 = ref([30, 50])
</script>

input

<template>
  <div>
    <b-slider v-model="value1" show-input></b-slider>
    <div class="p10"></div>
    <b-slider v-model="value2" :format-tooltip="format"></b-slider>
  </div>
</template>

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

const value1 = ref(25)
const value2 = ref(35)

function format(val) {
  return 'Progress: ' + val + '%'
}
</script>

With Marks

0°C
12°C
36°C
88°C
<template>
  <div>
    <b-slider v-model="value1" range :marks="marks"></b-slider>
  </div>
</template>

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

const value1 = ref([15, 65])
const marks = {
  0: '0°C',
  12: '12°C',
  36: '36°C',
  88: {
    style: {
      color: '#ff0000'
    },
    label: h('strong', '88°C')
  }
}
</script>

Props

ParameterDescriptionTypeOptionsDefault
value / v-modelBound valuenumber0
minMinimum valuenumber0
maxMaximum valuenumber100
disabledDisable dbooleanfalse
stepStep sizenumber1
show-inputWhether to show input, only effective in non-range modebooleanfalse
show-input-controlsWhether to show input control buttons when input is displayedbooleantrue
input-sizeInput sizestringlarge / default / small / minismall
show-stopsWhether to show stopsbooleanfalse
show-tooltipWhether to show tooltipbooleantrue
format-tooltipFormat tooltip messagefunction(value)
rangeWhether to use range selectionbooleanfalse
verticalWhether to use vertical modebooleanfalse
heightSlider height, required in vertical modestring
labelScreen reader labelstring
debounceDebounce delay on input, in milliseconds, only when show-input is truenumber300
tooltip-classCustom class name for tooltipstring
marksMarks, key type must be number and value must be within the closed interval [min, max], each mark can have individual stylesobject

Events

Event NameDescriptionCallback Parameters
changeTriggers when value changes (when dragging with mouse, triggers only after releasing the mouse)Changed value
inputTriggers when data changes (when dragging with mouse, triggers in real time during the drag)Changed value