/* eslint react/no-multi-comp: 0 */ require('rc-slider/assets/index.less'); const React = require('react'); const ReactDOM = require('react-dom'); const Slider = require('rc-slider'); const style = { width: 400, margin: 50 }; function log(value) { console.log(value); } const CustomizedRange = React.createClass({ getInitialState() { return { lowerBound: 20, upperBound: 40, value: [20, 40], }; }, onLowerBoundChange(e) { this.setState({ lowerBound: +e.target.value }); }, onUpperBoundChange(e) { this.setState({ upperBound: +e.target.value }); }, onSliderChange(value) { log(value); this.setState({ value, }); }, handleApply() { const { lowerBound, upperBound } = this.state; this.setState({ value: [lowerBound, upperBound] }); }, render() { return (




); }, }); const DynamicBounds = React.createClass({ getInitialState() { return { min: 0, max: 100, }; }, onSliderChange(value) { log(value); }, onMinChange(e) { this.setState({ min: +e.target.value || 0, }); }, onMaxChange(e) { this.setState({ max: +e.target.value || 100, }); }, render() { return (



); }, }); ReactDOM.render(

Basic Range,`allowCross=false`

Basic Range,`step=20`

Basic Range,`step=20, dots`

Controlled Range

Multi Range

Customized Range

Range with dynamic `max` `min`

, document.getElementById('__react-content'));