mirror of
https://github.com/gosticks/react-bootstrap-table2.git
synced 2025-10-16 11:55:39 +00:00
parent
4635b60da0
commit
a11913c49a
@ -38,9 +38,28 @@ const columns = [{
|
|||||||
<BootstrapTable keyField='id' data={ products } columns={ columns } />
|
<BootstrapTable keyField='id' data={ products } columns={ columns } />
|
||||||
`;
|
`;
|
||||||
|
|
||||||
export default () => (
|
export default class Test extends React.Component {
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = { data: products };
|
||||||
|
}
|
||||||
|
|
||||||
|
handleClick = () => {
|
||||||
|
this.setState(() => {
|
||||||
|
const newProducts = productsGenerator(21);
|
||||||
|
return {
|
||||||
|
data: newProducts
|
||||||
|
};
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
return (
|
||||||
<div>
|
<div>
|
||||||
<BootstrapTable keyField="id" data={ products } columns={ columns } />
|
<button className="btn btn-default" onClick={ this.handleClick }>Change Data</button>
|
||||||
|
<BootstrapTable keyField="id" data={ this.state.data } columns={ columns } />
|
||||||
<Code>{ sourceCode }</Code>
|
<Code>{ sourceCode }</Code>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -39,14 +39,12 @@ export default Base =>
|
|||||||
}
|
}
|
||||||
|
|
||||||
componentWillReceiveProps(nextProps) {
|
componentWillReceiveProps(nextProps) {
|
||||||
if (nextProps.isDataChanged) {
|
|
||||||
const sortedColumn = nextProps.columns.find(
|
const sortedColumn = nextProps.columns.find(
|
||||||
column => column.dataField === nextProps.store.sortField);
|
column => column.dataField === nextProps.store.sortField);
|
||||||
if (sortedColumn) {
|
if (sortedColumn && sortedColumn.sort) {
|
||||||
nextProps.store.sortBy(sortedColumn);
|
nextProps.store.sortBy(sortedColumn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
handleSort(column) {
|
handleSort(column) {
|
||||||
const { store } = this.props;
|
const { store } = this.props;
|
||||||
|
|||||||
@ -219,11 +219,6 @@ describe('SortWrapper', () => {
|
|||||||
nextProps = { columns, store };
|
nextProps = { columns, store };
|
||||||
store.sortField = columns[1].dataField;
|
store.sortField = columns[1].dataField;
|
||||||
store.sortOrder = Const.SORT_DESC;
|
store.sortOrder = Const.SORT_DESC;
|
||||||
});
|
|
||||||
|
|
||||||
describe('if nextProps.isDataChanged is true', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
nextProps.isDataChanged = true;
|
|
||||||
store.sortBy = sinon.stub();
|
store.sortBy = sinon.stub();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -232,17 +227,4 @@ describe('SortWrapper', () => {
|
|||||||
expect(store.sortBy.calledOnce).toBeTruthy();
|
expect(store.sortBy.calledOnce).toBeTruthy();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('if nextProps.isDataChanged is false', () => {
|
|
||||||
beforeEach(() => {
|
|
||||||
nextProps.isDataChanged = false;
|
|
||||||
store.sortBy = sinon.stub();
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should not sorting', () => {
|
|
||||||
wrapper.instance().componentWillReceiveProps(nextProps);
|
|
||||||
expect(store.sortBy.calledOnce).toBeFalsy();
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user