diff --git a/CHANGELOG.md b/CHANGELOG.md index 2cbae317d09f4fa0cbec305c6d5e6cdb0ef19868..48c30c9e3c315d66e41307bc95f130fdca51380c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ --- +## 0.12.7 + +`2016-03-03` + +- 修正 Table 的 `rowSelect.onSelectAll` 的第三个参数 `deselectedRows` 为 `changeRows`,记录每次变化的列。 + ## 0.12.6 `2016-03-02` diff --git a/components/table/demo/row-selection.md b/components/table/demo/row-selection.md index 7ceb0b5cc39cf8304f04d6feb86d9ae03987bb7d..88cd4b68d19bd9d7f0b3cecf9eaa1556fd54eb1d 100644 --- a/components/table/demo/row-selection.md +++ b/components/table/demo/row-selection.md @@ -47,8 +47,8 @@ const rowSelection = { onSelect(record, selected, selectedRows) { console.log(record, selected, selectedRows); }, - onSelectAll(selected, selectedRows, deselectedRowKeys) { - console.log(selected, selectedRows, deselectedRowKeys); + onSelectAll(selected, selectedRows, changeRows) { + console.log(selected, selectedRows, changeRows); } }; diff --git a/components/table/index.jsx b/components/table/index.jsx index b31336663add18c84983d8d6b4cd655121ea4a99..32ffc4d2055ffc3c7c0ca577c28a741b6d5ce591 100644 --- a/components/table/index.jsx +++ b/components/table/index.jsx @@ -233,16 +233,21 @@ let AntTable = React.createClass({ !this.props.rowSelection.getCheckboxProps || !this.props.rowSelection.getCheckboxProps(item).disabled ).map((item, i) => this.getRecordKey(item, i)); + + // 记录变化的列 + const changeRowKeys = []; if (checked) { changableRowKeys.forEach(key => { if (selectedRowKeys.indexOf(key) < 0) { selectedRowKeys.push(key); + changeRowKeys.push(key); } }); } else { changableRowKeys.forEach(key => { if (selectedRowKeys.indexOf(key) >= 0) { selectedRowKeys.splice(selectedRowKeys.indexOf(key), 1); + changeRowKeys.push(key); } }); } @@ -251,13 +256,11 @@ let AntTable = React.createClass({ }); this.setSelectedRowKeys(selectedRowKeys); if (this.props.rowSelection.onSelectAll) { - const selectedRows = data.filter((row, i) => { - return selectedRowKeys.indexOf(this.getRecordKey(row, i)) >= 0; - }); - const deselectedRows = checked ? [] : data.filter((row, i) => { - return changableRowKeys.indexOf(this.getRecordKey(row, i)) >= 0; - }); - this.props.rowSelection.onSelectAll(checked, selectedRows, deselectedRows); + const selectedRows = data.filter((row, i) => + selectedRowKeys.indexOf(this.getRecordKey(row, i)) >= 0); + const changeRows = data.filter((row, i) => + changeRowKeys.indexOf(this.getRecordKey(row, i)) >= 0); + this.props.rowSelection.onSelectAll(checked, selectedRows, changeRows); } }, diff --git a/components/table/index.md b/components/table/index.md index 38d6f3eaa1561cfe8ac214dba1bef1901d026f91..7f5bdac424dd23d93e5f9b13e2c462ac1ce28393 100644 --- a/components/table/index.md +++ b/components/table/index.md @@ -100,7 +100,7 @@ const columns = [{ | onChange | 选中项发生变化的时的回调 | Function(selectedRowKeys, selectedRows) | - | | getCheckboxProps | 选择框的默认属性配置 | Function(record) | - | | onSelect | 用户手动选择/取消选择某列的回调 | Function(record, selected, selectedRows) | - | -| onSelectAll | 用户手动选择/取消选择所有列的回调 | Function(selected, selectedRows, deselectedRows) | - | +| onSelectAll | 用户手动选择/取消选择所有列的回调 | Function(selected, selectedRows, changeRows) | - | ## 注意 diff --git a/package.json b/package.json index ba7ee76737e18e6cefdd9f4166b3a048f6806909..8962aa8bca366a78b1aa1ca1b92a7a83017140b5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "antd", - "version": "0.12.6", + "version": "0.12.7", "title": "Ant Design", "description": "一个 UI 设计语言", "homepage": "http://ant.design/",