FixNeedConfirmInTabs.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import React, { useRef } from 'react';
  2. import type { BaseDatePicker } from '../../index';
  3. import { DatePicker, Tabs, Space, Button } from '../../../index';
  4. /**
  5. * test in cypress
  6. */
  7. export default function Demo() {
  8. const ref = useRef<BaseDatePicker>();
  9. const ref2 = useRef<BaseDatePicker>();
  10. const TabPane = Tabs.TabPane;
  11. const handleClickOutside = () => {
  12. console.log('click outside');
  13. };
  14. const handleTabChange = (activeKey: string) => {
  15. if (activeKey === '1') {
  16. ref2.current?.close();
  17. }
  18. if (activeKey === '2') {
  19. ref.current?.close();
  20. }
  21. };
  22. return (
  23. <Space vertical align="start">
  24. <Space>
  25. <Button onClick={() => ref.current.close()}>close</Button>
  26. </Space>
  27. <Tabs type="line" onChange={handleTabChange}>
  28. <TabPane tab="文档" itemKey="1">
  29. <DatePicker motion={false} type="dateTime" needConfirm ref={ref} onClickOutSide={handleClickOutside} />
  30. </TabPane>
  31. <TabPane tab="快速起步" itemKey="2">
  32. <DatePicker motion={false} type="dateTimeRange" needConfirm ref={ref2} onClickOutSide={handleClickOutside} />
  33. </TabPane>
  34. </Tabs>
  35. </Space>
  36. );
  37. }
  38. Demo.storyName = 'fix needConfirm in Tabs';
  39. Demo.parameters = {
  40. chromatic: { disableSnapshot: false },
  41. };