spin.stories.jsx 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import React, { useState } from 'react';
  2. import Button from '../../button/index';
  3. import Spin from '../index';
  4. export default {
  5. title: 'Spin'
  6. }
  7. const Example1 = () => (
  8. <div style={{ marginLeft: 30 }}>
  9. <div style={{ marginTop: 20 }}>size:small</div>
  10. <Spin size="small" />
  11. <div style={{ marginTop: 20 }}>size:middle</div>
  12. <Spin size="middle" />
  13. <div style={{ marginTop: 20 }}>size:large</div>
  14. <Spin size="large" />
  15. </div>
  16. );
  17. export const SpinDefault = () => <Example1 />;
  18. SpinDefault.story = {
  19. name: 'spin default',
  20. };
  21. const Example2 = () => {
  22. const [visible, setVisible] = useState(true);
  23. return (
  24. <div>
  25. <Spin spinning={visible} tip="loading">
  26. <div style={{ 'background-color': '#e6f7ff', border: '1px solid #91d5ff' }}>
  27. <p>yoyoyoyoyo</p>
  28. <p>yoyoyoyoyo</p>
  29. <p>yoyoyoyoyo</p>
  30. </div>
  31. </Spin>
  32. <div style={{ marginTop: 30 }}>
  33. <Button
  34. onClick={() => {
  35. setVisible(!visible);
  36. }}
  37. style={{ marginRight: 20 }}
  38. >
  39. 受控
  40. </Button>
  41. </div>
  42. </div>
  43. );
  44. };
  45. export const SpinHasText = () => <Example2 />;
  46. SpinHasText.story = {
  47. name: 'spin has text',
  48. };
  49. const Example3 = () => {
  50. const [visible1, setVisible1] = useState(false);
  51. const [visible2, setVisible2] = useState(false);
  52. return (
  53. <div style={{ marginLeft: 30 }}>
  54. <div style={{ marginTop: 30 }}>
  55. <Button
  56. onClick={() => {
  57. setVisible1(!visible1);
  58. }}
  59. style={{ marginRight: 20 }}
  60. >
  61. 延迟显示spin
  62. </Button>
  63. <Spin delay={1000} spinning={visible1}></Spin>
  64. </div>
  65. <div style={{ marginTop: 30 }}>
  66. <Button
  67. onClick={() => {
  68. setVisible2(!visible2);
  69. }}
  70. style={{ marginRight: 20 }}
  71. >
  72. 受控显示spin
  73. </Button>
  74. <Spin spinning={visible2}></Spin>
  75. </div>
  76. </div>
  77. );
  78. };
  79. export const SpinHasDelay = () => <Example3 />;
  80. SpinHasDelay.story = {
  81. name: 'spin has delay',
  82. };