Vue Range Component

Range

Vue range component. Use our custom range inputs for consistent cross-browser styling and built-in customization.

Available in Other JavaScript Frameworks

CoreUI Vue Range Component is also available for Angular, Bootstrap, and React. Explore framework-specific implementations below:

On this page

Overview

Create custom <input type="range"> controls with <CFormRange>. The track (the background) and thumb (the value) are both styled to appear the same across browsers. As only Edge Legacy and Firefox supports “filling” their track from the left or right of the thumb as a means to visually indicate progress, we do not currently support it.

vue
<template>
  <CFormRange id="customRange1" label="Example range" />
</template>

<script setup>
import { CFormRange } from '@coreui/vue'
</script>

Disabled

Add the disabled boolean attribute on an input to give it a grayed out appearance and remove pointer events.

vue
<template>
  <CFormRange id="disabledRange" disabled label="Disabled range" />
</template>

<script setup>
import { CFormRange } from '@coreui/vue'
</script>

Min and max

Range inputs have implicit values for min and max0 and 100, respectively. You may specify new values for those using the min and max attributes.

vue
<template>
  <CFormRange label="Example range" :min="0" :max="5" :value="3" id="customRange2" />
</template>

<script setup>
import { CFormRange } from '@coreui/vue'
</script>

Steps

By default, range inputs “snap” to integer values. To change this, you can specify a step value. In the example below, we double the number of steps by using :step="0.5".

vue
<template>
  <CFormRange label="Example range" :min="0" :max="5" :step="0.5" :value="3" id="customRange3" />
</template>

<script setup>
import { CFormRange } from '@coreui/vue'
</script>