modal.stories.tsx 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import React, { useState } from 'react';
  2. import { storiesOf } from '@storybook/react';
  3. import Modal from '../index';
  4. import Button from '../../button';
  5. const stories = storiesOf('Modal', module);
  6. const DialogComponent = (props: any) => {
  7. const { maskClosable } = props;
  8. const [visible, setVisible] = useState(false);
  9. const handleOk = () => {
  10. setVisible(false);
  11. };
  12. const handleCancel = () => {
  13. setVisible(false);
  14. };
  15. return (
  16. <React.Fragment>
  17. <Button onClick={() => setVisible(true)}>show dialog</Button>
  18. <Button onClick={() => {
  19. let mod = Modal.info({
  20. title: '123', maskClosable: !!maskClosable
  21. });
  22. mod.destroy();
  23. }}>静态调用</Button>
  24. <Modal title="对话框标题" visible={visible} onOk={handleOk} onCancel={handleCancel} {...props}>
  25. <input autoFocus />
  26. <p>basic modal</p>
  27. <Button onClick={handleCancel}>hide dialog</Button>
  28. </Modal>
  29. </React.Fragment >
  30. );
  31. };
  32. stories.add('模态框默认', () => <DialogComponent />);
  33. stories.add('模态框-点击遮罩层不可关闭', () => <DialogComponent maskClosable={false} />);