index.jsx 1.0 KB

12345678910111213141516171819202122232425262728
  1. import React from "react";
  2. import {dragBox} from '@utils/drag';
  3. import ReactDom from "react-dom";
  4. import style from "./index.less";
  5. import close from '@common/images/icon_close.png';
  6. class WrapModalContainer extends React.Component {
  7. constructor(props) {
  8. super(props)
  9. }
  10. componentDidMount(){
  11. dragBox('previewWrapper','previewStatic','add')
  12. }
  13. render() {
  14. const { onClose, children,title,width,height } = this.props;
  15. const domNode = document.getElementById('root');
  16. return ReactDom.createPortal(<div className={style['container']}>
  17. <div className={style['shade']} onClick={onClose}></div>
  18. <div className={style['modal']} id="previewWrapper" style={{width:width+'px',marginLeft:(-width/2)+'px',height:height,marginTop:(-height/2)+'px'}}>
  19. <div id="previewStatic" className={`${style['close']} drag-title`}>{title}</div>
  20. <img className={style['img']} src={close} onClick={onClose} />
  21. {children}
  22. </div>
  23. </div>,domNode)
  24. }
  25. }
  26. export default WrapModalContainer;