improve overlay wrapping

This commit is contained in:
AllenFang
2018-06-03 15:50:10 +08:00
parent b11019ce20
commit a6daa50417
2 changed files with 14 additions and 7 deletions

View File

@@ -1,9 +1,13 @@
/* eslint no-return-assign: 0 */
import React from 'react';
import PropTypes from 'prop-types';
import LoadingOverlay from 'react-loading-overlay';
export default options => (element, loading) =>
export default options => loading =>
class TableLoadingOverlayWrapper extends React.Component {
static propTypes = {
children: PropTypes.element.isRequired
}
componentDidMount() {
if (loading) {
const { wrapper } = this.overlay;
@@ -31,7 +35,7 @@ export default options => (element, loading) =>
{ ...options }
active={ loading }
>
{ element }
{ this.props.children }
</LoadingOverlay>
);
}

View File

@@ -29,12 +29,15 @@ class BootstrapTable extends PropsBaseResolver(Component) {
render() {
const { loading, overlay } = this.props;
const table = this.renderTable();
if (loading && overlay) {
const LoadingOverlay = overlay(table, loading);
return <LoadingOverlay />;
if (overlay) {
const LoadingOverlay = overlay(loading);
return (
<LoadingOverlay>
{ this.renderTable() }
</LoadingOverlay>
);
}
return table;
return this.renderTable();
}
renderTable() {