diff --git a/src/components/table/mixin.js b/src/components/table/mixin.js index cef16e8..eedc904 100644 --- a/src/components/table/mixin.js +++ b/src/components/table/mixin.js @@ -11,15 +11,22 @@ export default { isPopperShow (column) { return column.filters && ((!this.fixed && !column.fixed) || (this.fixed === 'left' && column.fixed === 'left') || (this.fixed === 'right' && column.fixed === 'right')); }, - setCellWidth (column) { - // return column.width ? column.width : this.columnsWidth[index]; + setCellWidth (column, index, top) { let width = ''; if (column.width) { width = column.width; } else if (this.columnsWidth[column._index]) { width = this.columnsWidth[column._index].width; } - // return this.columnsWidth[column._index] ? this.columnsWidth[column._index].width : ''; + // when browser has scrollBar,set a width to resolve scroll position bug + if (this.columns.length === index + 1 && top) { + width += this.$parent.scrollBarWidth; + } + // when fixed type,reset first right fixed column's width + if (this.fixed === 'right') { + const firstFixedIndex = this.columns.findIndex((col) => col.fixed === 'right'); + if (firstFixedIndex === index) width += this.$parent.scrollBarWidth; + } return width; } } diff --git a/src/components/table/table-body.vue b/src/components/table/table-body.vue index cf694d0..bb73685 100644 --- a/src/components/table/table-body.vue +++ b/src/components/table/table-body.vue @@ -1,7 +1,7 @@