react-app-shell
Version:
react打包脚本和example, 这里的版本请忽略
40 lines (34 loc) • 1.1 kB
JavaScript
import React from 'react';
import propTypes from 'prop-types';
import styles from './index.less';
/**
* @description 抽奖modal弹窗
*/
export default class Modal extends React.Component {
static propTypes = {
onClose: propTypes.func,
visible: propTypes.bool,
title: propTypes.oneOfType([propTypes.element, propTypes.string]),
children: propTypes.any,
}
static defaultProps = {
title: '模态框标题',
children: '我是内容',
visible: true,
onClose: () => {},
}
render() {
const {title, children, onClose, visible} = this.props;
if (!visible) return null;
return (
<div className={styles.modal}>
<div className={styles.mask}/>
<div className={styles.container}>
<i className={styles.close} onClick={onClose}/>
<header>{title}</header>
<div className={styles.content}>{React.Children.map(children, node => node)}</div>
</div>
</div>
);
}
}