React Range Component

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


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.

1<CFormLabel htmlFor="customRange1">Example range</CFormLabel>
2<CFormRange id="customRange1"/>


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

1<CFormLabel htmlFor="disabledRange">Disabled range</CFormLabel>
2<CFormRange id="disabledRange" disabled/>

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.

1<CFormLabel htmlFor="customRange2">Example range</CFormLabel>
2<CFormRange min="0" max="5" defaultValue="3" id="customRange2"/>


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".

1<CFormLabel htmlFor="customRange3">Example range</CFormLabel>
2<CFormRange min="0" max="5" step="0.5" defaultValue="3" id="customRange3"/>



1import { CFormRange } from '@coreui/react'
2// or
3import CFormRange from '@coreui/react/src/components/form/CFormRange'
classNameA string of all className you want applied to the component.string-
disabledToggle the disabled state for the component.boolean-
maxSpecifies the maximum value for the component.number-
minSpecifies the minimum value for the component.number-
onChangeMethod called immediately after the value prop changes.ChangeEventHandler<HTMLInputElement>-
readOnlyToggle the readonly state for the component.boolean-
stepsSpecifies the interval between legal numbers in the component.number-
valueThe value attribute of component.
@controllable onChange
string | number | string[]-