初始化 antd-pro
This commit is contained in:
61
admin-web/src/components/Exception/index.js
Normal file
61
admin-web/src/components/Exception/index.js
Normal file
@@ -0,0 +1,61 @@
|
||||
import React, { createElement } from 'react';
|
||||
import classNames from 'classnames';
|
||||
import { Button } from 'antd';
|
||||
import config from './typeConfig';
|
||||
import styles from './index.less';
|
||||
|
||||
class Exception extends React.PureComponent {
|
||||
static defaultProps = {
|
||||
backText: 'back to home',
|
||||
redirect: '/',
|
||||
};
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {};
|
||||
}
|
||||
|
||||
render() {
|
||||
const {
|
||||
className,
|
||||
backText,
|
||||
linkElement = 'a',
|
||||
type,
|
||||
title,
|
||||
desc,
|
||||
img,
|
||||
actions,
|
||||
redirect,
|
||||
...rest
|
||||
} = this.props;
|
||||
const pageType = type in config ? type : '404';
|
||||
const clsString = classNames(styles.exception, className);
|
||||
return (
|
||||
<div className={clsString} {...rest}>
|
||||
<div className={styles.imgBlock}>
|
||||
<div
|
||||
className={styles.imgEle}
|
||||
style={{ backgroundImage: `url(${img || config[pageType].img})` }}
|
||||
/>
|
||||
</div>
|
||||
<div className={styles.content}>
|
||||
<h1>{title || config[pageType].title}</h1>
|
||||
<div className={styles.desc}>{desc || config[pageType].desc}</div>
|
||||
<div className={styles.actions}>
|
||||
{actions ||
|
||||
createElement(
|
||||
linkElement,
|
||||
{
|
||||
to: redirect,
|
||||
href: redirect,
|
||||
},
|
||||
<Button type="primary">{backText}</Button>
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default Exception;
|
||||
Reference in New Issue
Block a user