diff --git a/components/table/demo/paging.md b/components/table/demo/paging.md
index a6a92123be..fa2c7c2a0d 100644
--- a/components/table/demo/paging.md
+++ b/components/table/demo/paging.md
@@ -36,7 +36,10 @@ for (let i = 0; i < 46; i++) {
const pagination = {
total: data.length,
current: 1,
- showSizeChanger: true
+ showSizeChanger: true,
+ onShowSizeChange: function(current, pageSize) {
+ console.log('Current: ', current, '; PageSize: ', pageSize);
+ }
};
ReactDOM.render(
diff --git a/components/table/index.jsx b/components/table/index.jsx
index 5f58d0d429..e666edae4a 100644
--- a/components/table/index.jsx
+++ b/components/table/index.jsx
@@ -410,10 +410,15 @@ let AntTable = React.createClass({
},
handleShowSizeChange(current, pageSize) {
- let pagination = objectAssign(this.state.pagination, {
+ const pagination = this.state.pagination;
+ if (pagination.onShowSizeChange) {
+ pagination.onShowSizeChange(current, pageSize);
+ }
+
+ let nextPagination = objectAssign(pagination, {
pageSize: pageSize
});
- this.setState({ pagination });
+ this.setState({ pagination: nextPagination });
},
renderPagination() {
@@ -427,12 +432,12 @@ let AntTable = React.createClass({
});
let total = this.state.pagination.total || this.getLocalData().length;
return (total > 0) ?
- : null;
+ onShowSizeChange={this.handleShowSizeChange} /> : null;
},
prepareParamsArguments(state) {