react-time-range-slider is a React component allowing users to integrate time range slider. It can accept start and end time. It also allow to define time format default 24 hour time format
A running demo is available here
With npm installed, run
npm install react-time-range-slider
var TimeRangeSlider = require('react-time-range-slider')
import React from 'react';
import { render} from 'react-dom';
import TimeRangeSlider from 'react-time-range-slider';
class App extends React.Component{
constructor(props) {
super(props);
this.featureRef = React.createRef();
this.changeStartHandler = this.changeStartHandler.bind(this);
this.timeChangeHandler = this.timeChangeHandler.bind(this);
this.changeCompleteHandler = this.changeCompleteHandler.bind(this);
this.state = {
value: {
start: "00:00",
end: "23:59"
}
}
}
changeStartHandler(time){
console.log("Start Handler Called", time);
}
timeChangeHandler(time){
this.setState({
value: time
});
}
changeCompleteHandler(time){
console.log("Complete Handler Called", time);
}
render() {
return(<div>
<TimeRangeSlider
disabled={false}
format={24}
maxValue={"23:59"}
minValue={"00:00"}
name={"time_range"}
onChangeStart={this.changeStartHandler}
onChangeComplete={this.changeCompleteHandler}
onChange={this.timeChangeHandler}
step={15}
value={this.state.value}/>
</div>);
}
};
render(<App />, document.getElementById("app"));
If this property is set to true, your component is disabled. This means you'll not able to interact with it.
If this property is set to true, you can drag the entire track.
How times should be displayed. Possible values 12|24.
Set a maximum value for your component. You cannot drag your slider beyond this value.
Set a minimum value for your component. You cannot drag your slider under this value.
Set a name for your form component.
Whenever your user interacts with your component (i.e.: dragging a slider), this function gets called. Inside the function, you should assign the new value to your component.
Whenever your user starts interacting with your component (i.e.: onMouseDown
, or onTouchStart
), this function gets called.
Every mouse / touch event can trigger multiple updates, therefore causing onChange
callback to fire multiple times. On the other hand, onChangeComplete
callback only gets called when the user stops dragging.
The amount of time, in minutes, increment/decrement when time range change.
Set the current value for your component
- disabled:
false
- draggableTrack:
false
- format:
24
- maxValue:
23:59
- minValue:
00:00
- name:
- step:
15
- value:
{start: "00:00", end: "23:59"}