forked from Gitlink/forgeplus-react
45 lines
981 B
JavaScript
45 lines
981 B
JavaScript
import React, { useState } from 'react';
|
|
import * as ReactDOM from 'react-dom';
|
|
import LoginDialog from '../../../../modules/login/LoginDialog';
|
|
import './index.scss';
|
|
|
|
// 使用函数调用删除组件
|
|
export default function DelModal(props) {
|
|
const div = document.createElement('div');
|
|
document.body.appendChild(div);
|
|
|
|
function destroy() {
|
|
const unmountResult = ReactDOM.unmountComponentAtNode(div);
|
|
if (unmountResult && div.parentNode) {
|
|
div.parentNode.removeChild(div);
|
|
}
|
|
}
|
|
|
|
function render() {
|
|
/**
|
|
* Sync render blocks React event. Let's make this async.
|
|
*/
|
|
setTimeout(() => {
|
|
ReactDOM.render(
|
|
<MyLoginDialog afterClose={destroy} />
|
|
,
|
|
div,
|
|
);
|
|
});
|
|
}
|
|
|
|
render();
|
|
}
|
|
|
|
function MyLoginDialog({afterClose}) {
|
|
const [isRender, setIsRender] = useState(true);
|
|
return (
|
|
<LoginDialog
|
|
isRender={isRender}
|
|
Modifyloginvalue={() => {setIsRender(false);afterClose()}}
|
|
/>
|
|
)
|
|
}
|
|
|
|
|