index.jsx 1015 B

1234567891011121314151617181920212223242526272829303132333435
  1. import React, { useState, useMemo } from 'react';
  2. import * as dateFns from 'date-fns';
  3. import { TimePicker, Button, Icon } from '../../../index';
  4. export default function Demo() {
  5. const formatToken = 'HH:mm:ss';
  6. const [time, setTime] = useState(new Date());
  7. const triggerIcon = useMemo(() => {
  8. return time ? (
  9. <Icon
  10. type={'close'}
  11. onClick={e => {
  12. e && e.stopPropagation();
  13. setTime();
  14. }}
  15. />
  16. ) : (
  17. <Icon type={'chevron_down'} />
  18. );
  19. }, [time]);
  20. return (
  21. <TimePicker
  22. value={time}
  23. format={formatToken}
  24. onChange={time => setTime(time)}
  25. triggerRender={({ placeholder }) => (
  26. <Button theme={'light'} icon={triggerIcon} iconPosition={'right'}>
  27. {time ? dateFns.format(time, formatToken) : placeholder}
  28. </Button>
  29. )}
  30. />
  31. );
  32. }