UNPKG

dh-c

Version:

The front-end development engineers jimberton gulp react component

102 lines (97 loc) 2.38 kB
import React from 'react'; import { Slider, Dropdown, Icon, Menu, DatePicker } from '../../src'; import moment from 'moment'; function TitleDate(props) { return ( <div style={{with: '100px', height: '50px'}}> <p>tooltip标题</p> <DatePicker value={moment(props.date)} onChange={props.onChange} /> </div> ) } const label = ( <div> <p>起始日期</p> <span>2017.08.17</span> </div> ); const marks1 = { 10: { label: label }, 20: '20%', 60: '60%', }; const marks2 = { 0: '0%', 10: '10%', 20: '20%', 60: '60%', 80: { style: { color: 'red' }, label: <div> <p>起始日期</p> <span>2017.08.17</span> </div> } }; class SliderDemo extends React.Component{ constructor(props) { super(props); this.state = { values: [1473280026471,1477765768800] } } renderElement = () => { const { values } = this.state; const TitleDate1 = <TitleDate date={values[0]} onChange={this.handleDateChangeLeft} />; const TitleDate2 = <TitleDate date={values[1]} onChange={this.handleDateChangeRight}/>; return [ TitleDate1, TitleDate2 ]; } handleChange = (values) => { this.setState({values}) } handleDateChangeLeft = (date,dateString) => { let { values } = this.state; values[0] = Date.parse(new Date(dateString)); this.setState({values}) } handleDateChangeRight = (date,dateString) => { let { values } = this.state; values[1] = Date.parse(new Date(dateString)); this.setState({values}) } render() { return ( <div style={{padding: '16px'}}> <Slider visible auto min={1470153600000} max={1495527496000} allowCross={false} value={this.state.values} trigger={['hover']} overlay={this.renderElement()} range={2} defaultValue={[20, 1495527496000]} onChange={this.handleChange} /> <br/> <br/> <Slider auto visible placement="right" step={null} min={10} marks={marks1} defaultValue={30} /> <br/> <br/> <Slider step={null} max={80} reverse marks={marks2} defaultValue={10} /> <br/> <DatePicker onChange={(date, dateString) => {console.log(date, dateString)}} /> </div> ) } } export default SliderDemo;