diff --git a/build/Table.js b/build/Table.js index 280a7b4..8caab49 100644 --- a/build/Table.js +++ b/build/Table.js @@ -241,10 +241,8 @@ var Table = function (_Component) { var value1 = arr[index1]; arr.splice(index1, 1); if (index1 < index2) { - console.log('向下拖'); arr.splice(index2, 0, value1); } else { - console.log('向上拖'); arr.splice(index2 + 1, 0, value1); } @@ -318,7 +316,8 @@ var Table = function (_Component) { currentHoverKey: null, scrollPosition: 'left', fixedColumnsHeadRowsHeight: [], - fixedColumnsBodyRowsHeight: [] + fixedColumnsBodyRowsHeight: [], + fixedColumnsExpandedRowsHeight: {} //扩展行的高度 }; _this.onExpandedRowsChange = _this.onExpandedRowsChange.bind(_this); @@ -738,10 +737,10 @@ var Table = function (_Component) { } else if (fixed === 'right') { colCount = this.columnManager.rightLeafColumns().length; } else { - // colCount = this.columnManager.leafColumns().length; colCount = this.columnManager.centerColumns().length; //计算非固定列的个数,fix: 嵌套表格场景,右侧列断开的问题 } + var expandedRowHeight = this.state.fixedColumnsExpandedRowsHeight[key] || 'auto'; function contentContainer() { if (content && content.props && content.props.style) { return _react2["default"].createElement('div', { style: { height: content.props.style.height } }); @@ -781,7 +780,8 @@ var Table = function (_Component) { dragborderKey: this.props.dragborderKey, rowDraggAble: this.props.rowDraggAble, onDragRow: this.onDragRow, - onDragRowStart: this.onDragRowStart + onDragRowStart: this.onDragRowStart, + height: expandedRowHeight }); }; @@ -1346,6 +1346,7 @@ var Table = function (_Component) { bodyDisplayInRow = _props8.bodyDisplayInRow; var headRows = this.headTable ? this.headTable.querySelectorAll('thead') : this.bodyTable.querySelectorAll('thead'); + var expandedRows = this.bodyTable.querySelectorAll('.' + clsPrefix + '-expanded-row') || []; var bodyRows = this.bodyTable.querySelectorAll('.' + clsPrefix + '-row') || []; var leftBodyRows = this.refs.fixedColumnsBodyLeft && this.refs.fixedColumnsBodyLeft.querySelectorAll('.' + clsPrefix + '-row') || []; var rightBodyRows = this.refs.fixedColumnsBodyRight && this.refs.fixedColumnsBodyRight.querySelectorAll('.' + clsPrefix + '-row') || []; @@ -1378,13 +1379,19 @@ var Table = function (_Component) { } } }); - - if ((0, _shallowequal2["default"])(this.state.fixedColumnsHeadRowsHeight, fixedColumnsHeadRowsHeight) && (0, _shallowequal2["default"])(this.state.fixedColumnsBodyRowsHeight, fixedColumnsBodyRowsHeight)) { + var fixedColumnsExpandedRowsHeight = {}; + expandedRows.length > 0 && expandedRows.forEach(function (row) { + var parentRowKey = row && row.previousSibling && row.previousSibling.getAttribute("data-row-key"), + height = row && row.getBoundingClientRect().height || 'auto'; + fixedColumnsExpandedRowsHeight[parentRowKey] = height; + }); + if ((0, _shallowequal2["default"])(this.state.fixedColumnsHeadRowsHeight, fixedColumnsHeadRowsHeight) && (0, _shallowequal2["default"])(this.state.fixedColumnsBodyRowsHeight, fixedColumnsBodyRowsHeight) && (0, _shallowequal2["default"])(this.state.fixedColumnsExpandedRowsHeight, fixedColumnsExpandedRowsHeight)) { return; } this.setState({ fixedColumnsHeadRowsHeight: fixedColumnsHeadRowsHeight, - fixedColumnsBodyRowsHeight: fixedColumnsBodyRowsHeight + fixedColumnsBodyRowsHeight: fixedColumnsBodyRowsHeight, + fixedColumnsExpandedRowsHeight: fixedColumnsExpandedRowsHeight }); }; diff --git a/build/lib/multiSelect.js b/build/lib/multiSelect.js index 5af1e8e..4331765 100644 --- a/build/lib/multiSelect.js +++ b/build/lib/multiSelect.js @@ -347,6 +347,7 @@ function multiSelect(Table, Checkbox) { }; this.onRowClick = function (record, index, event) { + if (record._disabled) return; var _props2 = _this2.props, autoCheckedByClickRows = _props2.autoCheckedByClickRows, onRowClick = _props2.onRowClick; diff --git a/demo/demolist/Demo1101.js b/demo/demolist/Demo1101.js index d74ee54..ea34e82 100644 --- a/demo/demolist/Demo1101.js +++ b/demo/demolist/Demo1101.js @@ -52,14 +52,10 @@ class Demo16 extends Component { } } expandedRowRender = (record, index, indent) => { - let height = 42 * (this.state.data_obj[record.key].length+ 2); - return (