index.jsx 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import React from 'react'
  2. import styles from './index.less'
  3. import PropTypes from 'prop-types'
  4. class Time extends React.Component {
  5. constructor() {
  6. super();
  7. }
  8. handleHourChange(value){
  9. if(value!==value){value=0}
  10. else if(value>=24) {value=23}
  11. else if(value<0) {value=0}
  12. this.props.handleChange({
  13. day:this.props.day,
  14. hour:value,
  15. minute:this.props.minute,
  16. second:this.props.second,
  17. });
  18. }
  19. handleMinuteChange(value){
  20. if(value!==value){value=0}
  21. else if(value>=60) {value=59}
  22. else if(value<0) {value=0}
  23. this.props.handleChange({
  24. day:this.props.day,
  25. hour:this.props.hour,
  26. minute:value,
  27. second:this.props.second,
  28. });
  29. }
  30. handleSecondChange(value){
  31. if(value!==value){value=0}
  32. else if(value>=60) {value=59}
  33. else if(value<0) {value=0}
  34. this.props.handleChange({
  35. day:this.props.day,
  36. hour:this.props.hour,
  37. minute:this.props.minute,
  38. second:value,
  39. });
  40. }
  41. render() {
  42. return (
  43. <div className={styles.wrapper}>
  44. <input className={styles.input} value={this.props.hour} onInput={(e)=>this.handleHourChange(window.parseInt(e.target.value))} />&nbsp;{'时'}&nbsp;
  45. <input className={styles.input} value={this.props.minute} onInput={(e)=>this.handleMinuteChange(window.parseInt(e.target.value))}/>&nbsp;{'分'}&nbsp;
  46. <input className={styles.input} value={this.props.second} onInput={(e)=>this.handleSecondChange(window.parseInt(e.target.value))}/>&nbsp;{'秒'}
  47. </div>
  48. )
  49. }
  50. }
  51. export default Time;
  52. Time.propTypes={
  53. hour:PropTypes.number,
  54. minute:PropTypes.number,
  55. second:PropTypes.number,
  56. handleChange:PropTypes.func
  57. };