From b7d204967d110435f3493030a72e305e417578dc Mon Sep 17 00:00:00 2001 From: afc163 Date: Mon, 27 Jul 2015 19:58:51 +0800 Subject: [PATCH] Refactor node pagination code, Add noPagination demo --- components/table/demo/nopagination.md | 38 +++++++++++++++++++++++++++ components/table/index.jsx | 25 +++++++++--------- 2 files changed, 50 insertions(+), 13 deletions(-) create mode 100644 components/table/demo/nopagination.md diff --git a/components/table/demo/nopagination.md b/components/table/demo/nopagination.md new file mode 100644 index 0000000000..1d11a40bbe --- /dev/null +++ b/components/table/demo/nopagination.md @@ -0,0 +1,38 @@ +# 不显示分页 + +- order: 8 + +传入 pagination 为 false 即可。 + +--- + +````jsx +var Table = antd.Table; +var columns = [{ + title: '姓名', + dataIndex: 'name' +}, { + title: '年龄', + dataIndex: 'age' +}, { + title: '住址', + dataIndex: 'address' +}]; + +var data = [{ + name: '胡彦斌', + age: 32, + address: '西湖区湖底公园1号' +}, { + name: '胡彦祖', + age: 42, + address: '西湖区湖底公园1号' +}, { + name: '李大嘴', + age: 32, + address: '西湖区湖底公园1号' +}]; + +React.render( +, document.getElementById('components-table-demo-nopagination')); +```` diff --git a/components/table/index.jsx b/components/table/index.jsx index b671c060b9..818a565d5f 100644 --- a/components/table/index.jsx +++ b/components/table/index.jsx @@ -24,19 +24,18 @@ export default React.createClass({ getPagination: function() {} }, this.props.dataSource); } - let pagination; - if (this.props.pagination === false) { - pagination = false; - } else { - pagination = objectAssign({ - pageSize: 10, - total: this.props.dataSource.length - }, this.props.pagination); - } + + let noPagination = (this.props.pagination === false); + let pagination = objectAssign({ + pageSize: 10, + total: this.props.dataSource.length + }, this.props.pagination); + return { selectedRowKeys: [], loading: false, pagination: pagination, + noPagination: noPagination, data: [] }; }, @@ -137,9 +136,9 @@ export default React.createClass({ this.props.rowSelection.onSelectAll(checked, selectedRows); } }, - handlePageChange: function(current) { + handlePageChange(current = 1) { let pagination = this.state.pagination || {}; - pagination.current = current || 1; + pagination.current = current; this.setState({ pagination: pagination }, this.fetch); @@ -218,7 +217,7 @@ export default React.createClass({ }, renderPagination() { // 强制不需要分页 - if (this.props.pagination === false) { + if (this.state.noPagination) { return ''; } let classString = 'ant-table-pagination'; @@ -283,7 +282,7 @@ export default React.createClass({ let data = this.props.dataSource; let current, pageSize; // 如果没有分页的话,默认全部展示 - if (this.props.pagination === false) { + if (this.state.noPagination) { pageSize = Number.MAX_VALUE; current = 1; } else { -- GitLab