fix:错行问题
This commit is contained in:
parent
ca50a4c766
commit
de7450e50b
|
@ -462,7 +462,7 @@ var Table = function (_Component) {
|
||||||
this.domWidthDiff = this.contentDomWidth - this.contentWidth;
|
this.domWidthDiff = this.contentDomWidth - this.contentWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.computeWidth <= this.contentWidth) {
|
if (this.computeWidth < this.contentWidth) {
|
||||||
var contentWidthDiff = this.scrollbarWidth ? this.contentWidth - this.computeWidth - this.scrollbarWidth : this.contentWidth - this.computeWidth;
|
var contentWidthDiff = this.scrollbarWidth ? this.contentWidth - this.computeWidth - this.scrollbarWidth : this.contentWidth - this.computeWidth;
|
||||||
//bordered的表格需要减去边框的差值1
|
//bordered的表格需要减去边框的差值1
|
||||||
if (this.props.bordered) {
|
if (this.props.bordered) {
|
||||||
|
@ -1097,7 +1097,7 @@ var Table = function (_Component) {
|
||||||
if (fixed) {
|
if (fixed) {
|
||||||
if (this.domWidthDiff > 0) {
|
if (this.domWidthDiff > 0) {
|
||||||
headStyle.overflow = 'hidden';
|
headStyle.overflow = 'hidden';
|
||||||
innerBodyStyle.overflowX = 'scroll'; //兼容expand场景、子表格含有固定列的场景
|
innerBodyStyle.overflowX = 'auto'; //兼容expand场景、子表格含有固定列的场景
|
||||||
} else {
|
} else {
|
||||||
bodyStyle.marginBottom = '-' + scrollbarWidth + 'px';
|
bodyStyle.marginBottom = '-' + scrollbarWidth + 'px';
|
||||||
}
|
}
|
||||||
|
|
|
@ -34405,7 +34405,7 @@
|
||||||
return this.props.expandedRowKeys || this.state.expandedRowKeys;
|
return this.props.expandedRowKeys || this.state.expandedRowKeys;
|
||||||
};
|
};
|
||||||
|
|
||||||
Table.prototype.getHeader = function getHeader(columns, fixed) {
|
Table.prototype.getHeader = function getHeader(columns, fixed, leftFixedWidth, rightFixedWidth) {
|
||||||
var _props = this.props,
|
var _props = this.props,
|
||||||
filterDelay = _props.filterDelay,
|
filterDelay = _props.filterDelay,
|
||||||
onFilterChange = _props.onFilterChange,
|
onFilterChange = _props.onFilterChange,
|
||||||
|
@ -34470,7 +34470,9 @@
|
||||||
contentDomWidth: this.contentDomWidth,
|
contentDomWidth: this.contentDomWidth,
|
||||||
scrollbarWidth: this.scrollbarWidth,
|
scrollbarWidth: this.scrollbarWidth,
|
||||||
headerScroll: headerScroll,
|
headerScroll: headerScroll,
|
||||||
bordered: bordered
|
bordered: bordered,
|
||||||
|
leftFixedWidth: leftFixedWidth,
|
||||||
|
rightFixedWidth: rightFixedWidth
|
||||||
})) : null;
|
})) : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -34893,6 +34895,8 @@
|
||||||
var bodyStyle = _extends({}, this.props.bodyStyle);
|
var bodyStyle = _extends({}, this.props.bodyStyle);
|
||||||
var headStyle = {};
|
var headStyle = {};
|
||||||
var innerBodyStyle = {};
|
var innerBodyStyle = {};
|
||||||
|
var leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth);
|
||||||
|
var rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth);
|
||||||
|
|
||||||
var tableClassName = '';
|
var tableClassName = '';
|
||||||
//表格元素的宽度大于容器的宽度也显示滚动条
|
//表格元素的宽度大于容器的宽度也显示滚动条
|
||||||
|
@ -34945,7 +34949,7 @@
|
||||||
if (fixed) {
|
if (fixed) {
|
||||||
if (this.domWidthDiff > 0) {
|
if (this.domWidthDiff > 0) {
|
||||||
headStyle.overflow = 'hidden';
|
headStyle.overflow = 'hidden';
|
||||||
innerBodyStyle.overflowX = 'auto'; //兼容expand场景、子表格含有固定列的场景
|
innerBodyStyle.overflowX = 'scroll'; //兼容expand场景、子表格含有固定列的场景
|
||||||
} else {
|
} else {
|
||||||
bodyStyle.marginBottom = '-' + scrollbarWidth + 'px';
|
bodyStyle.marginBottom = '-' + scrollbarWidth + 'px';
|
||||||
}
|
}
|
||||||
|
@ -34993,7 +34997,7 @@
|
||||||
'table',
|
'table',
|
||||||
{ className: ' ' + tableClassName + ' table-bordered ' + _drag_class + ' ', style: tableStyle },
|
{ className: ' ' + tableClassName + ' table-bordered ' + _drag_class + ' ', style: tableStyle },
|
||||||
_this4.getColGroup(columns, fixed),
|
_this4.getColGroup(columns, fixed),
|
||||||
hasHead ? _this4.getHeader(columns, fixed) : null,
|
hasHead ? _this4.getHeader(columns, fixed, leftFixedWidth, rightFixedWidth) : null,
|
||||||
tableBody
|
tableBody
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
@ -35062,8 +35066,8 @@
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
var leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth);
|
// const leftFixedWidth = this.columnManager.getLeftColumnsWidth(this.contentWidth);
|
||||||
var rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth);
|
// const rightFixedWidth = this.columnManager.getRightColumnsWidth(this.contentWidth);
|
||||||
var expandIconWidth = expandIconAsCell ? 33 : 0;
|
var expandIconWidth = expandIconAsCell ? 33 : 0;
|
||||||
var parStyle = {};
|
var parStyle = {};
|
||||||
if (!fixed) {
|
if (!fixed) {
|
||||||
|
@ -37592,7 +37596,9 @@
|
||||||
contentTable = _this$props2.contentTable,
|
contentTable = _this$props2.contentTable,
|
||||||
headerScroll = _this$props2.headerScroll,
|
headerScroll = _this$props2.headerScroll,
|
||||||
lastShowIndex = _this$props2.lastShowIndex,
|
lastShowIndex = _this$props2.lastShowIndex,
|
||||||
onDraggingBorder = _this$props2.onDraggingBorder;
|
onDraggingBorder = _this$props2.onDraggingBorder,
|
||||||
|
leftFixedWidth = _this$props2.leftFixedWidth,
|
||||||
|
rightFixedWidth = _this$props2.rightFixedWidth;
|
||||||
|
|
||||||
_utils.Event.stopPropagation(e);
|
_utils.Event.stopPropagation(e);
|
||||||
var event = _utils.Event.getEvent(e);
|
var event = _utils.Event.getEvent(e);
|
||||||
|
@ -37624,11 +37630,11 @@
|
||||||
_this.table.cols[lastShowIndex].style.width = lastWidth + "px"; //同步表头
|
_this.table.cols[lastShowIndex].style.width = lastWidth + "px"; //同步表头
|
||||||
_this.table.tableBodyCols[lastShowIndex].style.width = lastWidth + "px"; //同步表体
|
_this.table.tableBodyCols[lastShowIndex].style.width = lastWidth + "px"; //同步表体
|
||||||
}
|
}
|
||||||
|
var showScroll = contentDomWidth - (leftFixedWidth + rightFixedWidth) - (_this.drag.tableWidth + diff) - scrollbarWidth;
|
||||||
var showScroll = contentDomWidth - (_this.drag.tableWidth + diff) - scrollbarWidth;
|
|
||||||
//表头滚动条处理
|
//表头滚动条处理
|
||||||
if (headerScroll) {
|
if (headerScroll) {
|
||||||
if (showScroll < 0) {
|
if (showScroll < 0) {
|
||||||
|
//小于 0 出现滚动条
|
||||||
//找到固定列表格,设置表头的marginBottom值为scrollbarWidth;
|
//找到固定列表格,设置表头的marginBottom值为scrollbarWidth;
|
||||||
_this.table.contentTableHeader.style.overflowX = 'scroll';
|
_this.table.contentTableHeader.style.overflowX = 'scroll';
|
||||||
_this.optTableMargin(_this.table.fixedLeftHeaderTable, scrollbarWidth);
|
_this.optTableMargin(_this.table.fixedLeftHeaderTable, scrollbarWidth);
|
||||||
|
@ -37637,20 +37643,20 @@
|
||||||
// fixedRighHeadertTable && (fixedRighHeadertTable.style.marginBottom = scrollbarWidth + "px");
|
// fixedRighHeadertTable && (fixedRighHeadertTable.style.marginBottom = scrollbarWidth + "px");
|
||||||
//todo inner scroll-x去掉;outer marginbottom 设置成-15px】
|
//todo inner scroll-x去掉;outer marginbottom 设置成-15px】
|
||||||
} else {
|
} else {
|
||||||
|
//大于 0 不显示滚动条
|
||||||
_this.table.contentTableHeader.style.overflowX = 'hidden';
|
_this.table.contentTableHeader.style.overflowX = 'hidden';
|
||||||
_this.optTableMargin(_this.table.fixedLeftHeaderTable, 0);
|
_this.optTableMargin(_this.table.fixedLeftHeaderTable, 0);
|
||||||
_this.optTableMargin(_this.table.fixedRighHeadertTable, 0);
|
_this.optTableMargin(_this.table.fixedRighHeadertTable, 0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log('showScroll: ', showScroll);
|
|
||||||
if (showScroll < 0) {
|
if (showScroll < 0) {
|
||||||
// this.optTableMargin( this.table.fixedLeftBodyTable,'-'+scrollbarWidth);
|
_this.table.tableBody.style.overflowX = 'auto';
|
||||||
// this.optTableMargin( this.table.fixedRightBodyTable,'-'+scrollbarWidth);
|
_this.optTableMargin(_this.table.fixedLeftBodyTable, '-' + scrollbarWidth);
|
||||||
_this.optTableMargin(_this.table.fixedLeftBodyTable, 0);
|
_this.optTableMargin(_this.table.fixedRightBodyTable, '-' + scrollbarWidth);
|
||||||
_this.optTableMargin(_this.table.fixedRightBodyTable, 0);
|
|
||||||
_this.optTableScroll(_this.table.fixedLeftBodyTable, { x: 'scroll' });
|
_this.optTableScroll(_this.table.fixedLeftBodyTable, { x: 'scroll' });
|
||||||
_this.optTableScroll(_this.table.fixedRightBodyTable, { x: 'scroll' });
|
_this.optTableScroll(_this.table.fixedRightBodyTable, { x: 'scroll' });
|
||||||
} else {
|
} else {
|
||||||
|
_this.table.tableBody.style.overflowX = 'hidden';
|
||||||
_this.optTableMargin(_this.table.fixedLeftBodyTable, 0);
|
_this.optTableMargin(_this.table.fixedLeftBodyTable, 0);
|
||||||
_this.optTableMargin(_this.table.fixedRightBodyTable, 0);
|
_this.optTableMargin(_this.table.fixedRightBodyTable, 0);
|
||||||
_this.optTableScroll(_this.table.fixedLeftBodyTable, { x: 'auto' });
|
_this.optTableScroll(_this.table.fixedLeftBodyTable, { x: 'auto' });
|
||||||
|
@ -37701,7 +37707,7 @@
|
||||||
var innerTable = table.querySelector('.u-table-body-inner');
|
var innerTable = table.querySelector('.u-table-body-inner');
|
||||||
if (innerTable) {
|
if (innerTable) {
|
||||||
//fixbug: 拖拽列宽后,滚动条滚到表格底部,会导致固定列和非固定列错行
|
//fixbug: 拖拽列宽后,滚动条滚到表格底部,会导致固定列和非固定列错行
|
||||||
// overflow.x && (innerTable.style.overflowX = overflow.x);
|
overflow.x && (innerTable.style.overflowX = overflow.x);
|
||||||
overflow.y && (innerTable.style.overflowY = overflow.y);
|
overflow.y && (innerTable.style.overflowY = overflow.y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -37969,6 +37975,7 @@
|
||||||
table.cols = tableDome.getElementsByTagName("col");
|
table.cols = tableDome.getElementsByTagName("col");
|
||||||
table.ths = tableDome.getElementsByTagName("th");
|
table.ths = tableDome.getElementsByTagName("th");
|
||||||
table.tr = tableDome.getElementsByTagName("tr");
|
table.tr = tableDome.getElementsByTagName("tr");
|
||||||
|
table.tableBody = contentTable.querySelector('.u-table-scroll .u-table-body') && contentTable.querySelector('.u-table-scroll .u-table-body');
|
||||||
table.tableBodyCols = contentTable.querySelector('.u-table-scroll .u-table-body') && contentTable.querySelector('.u-table-scroll .u-table-body').getElementsByTagName("col");
|
table.tableBodyCols = contentTable.querySelector('.u-table-scroll .u-table-body') && contentTable.querySelector('.u-table-scroll .u-table-body').getElementsByTagName("col");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -298,7 +298,7 @@ class Table extends Component {
|
||||||
this.domWidthDiff = this.contentDomWidth - this.contentWidth;
|
this.domWidthDiff = this.contentDomWidth - this.contentWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.computeWidth <= this.contentWidth) {
|
if (this.computeWidth < this.contentWidth) {
|
||||||
let contentWidthDiff = this.scrollbarWidth?this.contentWidth - this.computeWidth-this.scrollbarWidth:this.contentWidth - this.computeWidth;
|
let contentWidthDiff = this.scrollbarWidth?this.contentWidth - this.computeWidth-this.scrollbarWidth:this.contentWidth - this.computeWidth;
|
||||||
//bordered的表格需要减去边框的差值1
|
//bordered的表格需要减去边框的差值1
|
||||||
if(this.props.bordered){
|
if(this.props.bordered){
|
||||||
|
@ -942,7 +942,7 @@ class Table extends Component {
|
||||||
if(fixed){
|
if(fixed){
|
||||||
if(this.domWidthDiff > 0){
|
if(this.domWidthDiff > 0){
|
||||||
headStyle.overflow = 'hidden';
|
headStyle.overflow = 'hidden';
|
||||||
innerBodyStyle.overflowX = 'scroll'; //兼容expand场景、子表格含有固定列的场景
|
innerBodyStyle.overflowX = 'auto'; //兼容expand场景、子表格含有固定列的场景
|
||||||
}else{
|
}else{
|
||||||
bodyStyle.marginBottom = `-${scrollbarWidth}px`;
|
bodyStyle.marginBottom = `-${scrollbarWidth}px`;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue