import * as React from 'react';
import ReactDOM from 'react-dom';
import './index.less';
interface Props {
content: string,
duration?: number,
mask?: Boolean,
onClose?: Function
}
function Template(props: Props) {
const {
content,
mask
} = props;
return (
);
}
let isToast = false;
const div = document.createElement('div');
let timer:any = null;
function Toast(props: Props) {
const {
content,
duration,
mask = true,
onClose = () => {}
} = props;
const remove = () => {
timer = setTimeout(() => {
document.body.removeChild(div);
onClose();
isToast = false;
}, duration || 2000)
};
const add = () => {
document.body.appendChild(div);
ReactDOM.render(, div);
isToast = true;
remove();
};
if(!isToast) {
add();
} else {
document.body.removeChild(div);
clearTimeout(timer);
isToast = false;
add();
}
}
export default {
info(props: Props) {
Toast(props);
},
hide() {
if(isToast) {
document.body.removeChild(div);
clearTimeout(timer);
isToast = false;
}
}
};