1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-05 11:17:36 +00:00
seahub/frontend/src/components/modal-portal.js
杨顺强 ccab6f1552
Update react version 3 (#7453)
* update react version

* update reactstrap

* optimize code

* update react-select version

* update react-responsive

* update react-chartjs version

* update qrocde version

* update seafile-editor version

* update tldraw editor version

* fix code bug
2025-02-14 14:04:25 +08:00

36 lines
655 B
JavaScript

import React from 'react';
import { createPortal } from 'react-dom';
import PropTypes from 'prop-types';
const propTypes = {
children: PropTypes.any.isRequired,
};
const modalRoot = document.getElementById('modal-wrapper');
class ModalPortal extends React.Component {
constructor(props) {
super(props);
this.el = document.createElement('div');
}
componentDidMount() {
modalRoot.appendChild(this.el);
}
componentWillUnmount() {
modalRoot.removeChild(this.el);
}
render() {
return createPortal(
this.props.children,
this.el,
);
}
}
ModalPortal.propTypes = propTypes;
export default ModalPortal;