From a6daa504172730df7f0b7b89f0abb52254daa61a Mon Sep 17 00:00:00 2001 From: AllenFang Date: Sun, 3 Jun 2018 15:50:10 +0800 Subject: [PATCH] improve overlay wrapping --- packages/react-bootstrap-table2-overlay/index.js | 8 ++++++-- .../react-bootstrap-table2/src/bootstrap-table.js | 13 ++++++++----- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/react-bootstrap-table2-overlay/index.js b/packages/react-bootstrap-table2-overlay/index.js index 13ca433..04bc73d 100644 --- a/packages/react-bootstrap-table2-overlay/index.js +++ b/packages/react-bootstrap-table2-overlay/index.js @@ -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 } ); } diff --git a/packages/react-bootstrap-table2/src/bootstrap-table.js b/packages/react-bootstrap-table2/src/bootstrap-table.js index 27e96ab..723f5bd 100644 --- a/packages/react-bootstrap-table2/src/bootstrap-table.js +++ b/packages/react-bootstrap-table2/src/bootstrap-table.js @@ -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 ; + if (overlay) { + const LoadingOverlay = overlay(loading); + return ( + + { this.renderTable() } + + ); } - return table; + return this.renderTable(); } renderTable() {