Vue Range Component
Vue range component. Use our custom range inputs for consistent cross-browser styling and built-in customization.
Other frameworks
CoreUI components are available as native Angular, Bootstrap (Vanilla JS), and React components. To learn more please visit the following pages.
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.
<CFormRange id="customRange1" label="Example range" />
Disabled
Add the disabled
boolean attribute on an input to give it a grayed out appearance and remove pointer events.
<CFormRange id="disabledRange" disabled label="Disabled range" />
Min and max
Range inputs have implicit values for min
and max
—0
and 100
, respectively. You may specify new values for those using the min
and max
attributes.
<CFormRange label="Example range" :min="0" :max="5" :value="3" id="customRange2"/>
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"
.
<CFormRange label="Example range" :min="0" :max="5" :step="0.5" :value="3" id="customRange3"/>
Customizing
SASS variables
$form-range-track-width: 100% !default;
$form-range-track-height: .5rem !default;
$form-range-track-cursor: pointer !default;
$form-range-track-bg: $gray-300 !default;
$form-range-track-border-radius: 1rem !default;
$form-range-track-box-shadow: $box-shadow-inset !default;
$form-range-thumb-width: 1rem !default;
$form-range-thumb-height: $form-range-thumb-width !default;
$form-range-thumb-bg: $component-active-bg !default;
$form-range-thumb-border: 0 !default;
$form-range-thumb-border-radius: 1rem !default;
$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;
$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge
$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;
$form-range-thumb-disabled-bg: $gray-500 !default;
$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
API
CFormRange
import { CFormRange } from '@coreui/vue'
// or
import CFormRange from '@coreui/vue/src/components/form/CFormRange'
Props
Prop name | Description | Type | Values | Default |
---|---|---|---|---|
disabled | Toggle the disabled state for the component. | boolean | - | - |
label 4.3.0+ | Add a caption for a component. | string | - | - |
max | Specifies the maximum value for the component. | number | - | - |
min | Specifies the minimum value for the component. | number | - | - |
model-value | The default name for a value passed using v-model. | string | - | - |
readonly | Toggle the readonly state for the component. | boolean | - | - |
steps | Specifies the interval between legal numbers in the component. | number | - | - |
value | The value attribute of component.@controllable onChange | number | - | - |
Events
Event name | Description | Properties |
---|---|---|
change | Event occurs when the value has been changed. | |
update:modelValue | Emit the new value whenever there’s a change event. |