diff --git a/packages/react-bootstrap-table2-paginator/src/wrapper.js b/packages/react-bootstrap-table2-paginator/src/wrapper.js index b220b58..ff88c59 100644 --- a/packages/react-bootstrap-table2-paginator/src/wrapper.js +++ b/packages/react-bootstrap-table2-paginator/src/wrapper.js @@ -54,11 +54,14 @@ export default (Base, { if (typeof page !== 'undefined' && currPage !== page) { // user defined page currPage = page; needNewState = true; - } else if (nextProps.isDataChanged) { // user didn't defined page but data change - currPage = typeof pageStartIndex !== 'undefined' ? pageStartIndex : Const.PAGE_START_INDEX; + } else if (nextProps.isDataChanged) { needNewState = true; } + if (typeof currPage === 'undefined') { + currPage = typeof pageStartIndex !== 'undefined' ? pageStartIndex : Const.PAGE_START_INDEX; + } + if (typeof sizePerPage !== 'undefined') { currSizePerPage = sizePerPage; needNewState = true; diff --git a/packages/react-bootstrap-table2-paginator/test/wrapper.test.js b/packages/react-bootstrap-table2-paginator/test/wrapper.test.js index b578ec1..feea75c 100644 --- a/packages/react-bootstrap-table2-paginator/test/wrapper.test.js +++ b/packages/react-bootstrap-table2-paginator/test/wrapper.test.js @@ -177,10 +177,11 @@ describe('Wrapper', () => { }); }); - describe('when nextProps.isDataChanged is true and options.pageStartIndex is existing', () => { + describe('when nextProps.isDataChanged is true, currPage is undefined and options.pageStartIndex exists', () => { beforeEach(() => { nextProps.isDataChanged = true; nextProps.pagination.options.pageStartIndex = 0; + instance.state.currPage = undefined; instance.componentWillReceiveProps(nextProps); });