From 55336108a05dafc0740b56136857f12ddcdcb7a7 Mon Sep 17 00:00:00 2001 From: AllenFang Date: Sun, 18 Mar 2018 14:07:44 +0800 Subject: [PATCH] should recieve newest selectRow.selected --- .../src/row-selection/wrapper.js | 3 ++- .../test/row-selection/wrapper.test.js | 12 ++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/react-bootstrap-table2/src/row-selection/wrapper.js b/packages/react-bootstrap-table2/src/row-selection/wrapper.js index 1be101e..1a94416 100644 --- a/packages/react-bootstrap-table2/src/row-selection/wrapper.js +++ b/packages/react-bootstrap-table2/src/row-selection/wrapper.js @@ -30,8 +30,9 @@ export default Base => } componentWillReceiveProps(nextProps) { + nextProps.store.selected = nextProps.selectRow.selected || []; this.setState(() => ({ - selectedRowKeys: nextProps.store.selected + selectedRowKeys: nextProps.selectRow.selected })); } diff --git a/packages/react-bootstrap-table2/test/row-selection/wrapper.test.js b/packages/react-bootstrap-table2/test/row-selection/wrapper.test.js index 749c0e4..59dc190 100644 --- a/packages/react-bootstrap-table2/test/row-selection/wrapper.test.js +++ b/packages/react-bootstrap-table2/test/row-selection/wrapper.test.js @@ -70,11 +70,19 @@ describe('RowSelectionWrapper', () => { describe('componentWillReceiveProps', () => { const nextSelected = [0]; - const nextProps = { store: { selected: nextSelected } }; + const nextProps = { + store: { + selected: nextSelected + }, + selectRow: { + mode: 'checkbox', + selected: nextSelected + } + }; it('should update state.selectedRowKeys with next selected rows', () => { wrapper.instance().componentWillReceiveProps(nextProps); - + expect(nextProps.store.selected).toEqual(nextSelected); expect(wrapper.state('selectedRowKeys')).toEqual(nextSelected); }); });