index.tsx 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * @Author: your name
  3. * @Date: 2021-09-08 17:09:34
  4. * @LastEditTime: 2022-01-07 17:09:20
  5. * @LastEditors: Please set LastEditors
  6. * @Description: 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
  7. * @FilePath: /MedicalWisdomCheckSys/src/components/MccsModal/index.tsx
  8. */
  9. import React,{useRef,createContext} from 'react'
  10. import {
  11. ModalForm,
  12. } from '@ant-design/pro-form';
  13. import type { ProFormInstance } from '@ant-design/pro-form';
  14. // 卡片组件,使用参考antD pro ModalForm
  15. type MccsModalProps = {
  16. title: string,
  17. visible: boolean,
  18. onVisibleChange?: (bool: boolean) => void,
  19. [propName: string]: any;
  20. }
  21. // const MccsModalContext = React.createContext({});
  22. const MccsModalContext: React.Context<MccsModal.MccsModalContextT> = createContext({});
  23. const MccsModal: React.FC<MccsModalProps> = (props) => {
  24. const { title,visible=false,children,onVisibleChange,...restProps } = props;
  25. const formRef = useRef<ProFormInstance>();
  26. // const [ifVisible, setIfVisible] = useState(false)
  27. return (
  28. <ModalForm
  29. title={title}
  30. visible={visible}
  31. formRef={formRef}
  32. onVisibleChange={onVisibleChange}
  33. modalProps={{
  34. destroyOnClose:true,
  35. }}
  36. {...restProps}
  37. >
  38. <MccsModalContext.Provider value={{formRef}}>
  39. {children}
  40. </MccsModalContext.Provider>
  41. </ModalForm>
  42. );
  43. };
  44. export {MccsModal,MccsModalContext}