diff --git a/components/table/index.jsx b/components/table/index.jsx index 9ff5e5f37c031f7989856e597e78b9ef95eef31a..8fcb90fcae816c51d9cb86e4e73fe3f473d620f5 100644 --- a/components/table/index.jsx +++ b/components/table/index.jsx @@ -42,7 +42,7 @@ export default React.createClass({ }; }, - componentWillReceiveProps(nextProps){ + componentWillReceiveProps(nextProps) { if (('pagination' in nextProps) && nextProps.pagination !== false) { this.setState({ pagination: objectAssign({}, this.state.pagination, nextProps.pagination) @@ -62,22 +62,26 @@ export default React.createClass({ }); } }, - hasPagination(pagination){ + + hasPagination(pagination) { if (pagination === undefined) { pagination = this.props.pagination; } return pagination !== false; }, - isLocalDataSource(){ + + isLocalDataSource() { return Array.isArray(this.props.dataSource); }, - getRemoteDataSource(){ + + getRemoteDataSource() { return objectAssign({ resolve: defaultResolve, getParams: noop, getPagination: noop }, this.props.dataSource); }, + toggleSortOrder(order, column) { let sortColumn = this.state.sortColumn; let sortOrder = this.state.sortOrder; @@ -115,6 +119,7 @@ export default React.createClass({ sorter: sorter }); }, + handleFilter(column, filters) { filters = objectAssign({}, this.state.filters, { [this.getColumnKey(column)]: filters @@ -124,6 +129,7 @@ export default React.createClass({ filters: filters }); }, + handleSelect(record, rowIndex, e) { let checked = e.target.checked; let selectedRowKeys = this.state.selectedRowKeys.concat(); @@ -146,6 +152,7 @@ export default React.createClass({ this.props.rowSelection.onSelect(record, checked, selectedRows); } }, + handleSelectAllRow(e) { let checked = e.target.checked; let data = this.getCurrentPageData(); @@ -162,6 +169,7 @@ export default React.createClass({ this.props.rowSelection.onSelectAll(checked, selectedRows); } }, + handlePageChange(current) { let pagination = objectAssign({}, this.state.pagination); if (current) { @@ -175,14 +183,17 @@ export default React.createClass({ pagination: pagination }); }, + renderSelectionCheckBox(value, record, index) { let rowIndex = this.getRecordKey(record, index); // 从 1 开始 let checked = this.state.selectedRowKeys.indexOf(rowIndex) >= 0; return ; }, - getRecordKey(record, index){ + + getRecordKey(record, index) { return record.key || index; }, + renderRowSelection() { let columns = this.props.columns.concat(); if (this.props.rowSelection) { @@ -214,11 +225,11 @@ export default React.createClass({ return columns; }, - getCurrentPageData(){ + getCurrentPageData() { return this.isLocalDataSource() ? this.getLocalDataPaging() : this.state.data; }, - getColumnKey(column){ + getColumnKey(column) { return column.key || column.dataIndex; }, @@ -268,6 +279,7 @@ export default React.createClass({ return column; }); }, + renderPagination() { // 强制不需要分页 if (!this.hasPagination()) { @@ -287,6 +299,7 @@ export default React.createClass({ pageSize={10} {...this.state.pagination} />; }, + prepareParamsArguments(state) { // 准备筛选、排序、分页的参数 let pagination; @@ -350,13 +363,13 @@ export default React.createClass({ } }, - findColumn(myKey){ + findColumn(myKey) { return this.props.columns.filter((c) => { return this.getColumnKey(c) === myKey; })[0]; }, - getLocalDataPaging(){ + getLocalDataPaging() { let data = this.getLocalData(); let current, pageSize; let state = this.state; @@ -383,7 +396,7 @@ export default React.createClass({ return data; }, - getLocalData(){ + getLocalData() { let state = this.state; let data = this.props.dataSource; // 排序