Commit 95e1720ce3c454be058304e1a797fa6f42a9bee7
1 parent
8744e122
fix ivu-table-fixed bug
Showing
4 changed files
with
15 additions
and
3 deletions
Show diff stats
examples/routers/table.vue
| @@ -11,6 +11,12 @@ | @@ -11,6 +11,12 @@ | ||
| 11 | <div style='margin:20px 0px'> | 11 | <div style='margin:20px 0px'> |
| 12 | <Table :height='200' border :columns="columns2" :data="data3"></Table> | 12 | <Table :height='200' border :columns="columns2" :data="data3"></Table> |
| 13 | </div> | 13 | </div> |
| 14 | + <div style='margin:20px 0px'> | ||
| 15 | + <Table :width='500' border :columns="columns2" :data="data3"></Table> | ||
| 16 | + </div> | ||
| 17 | + <div style='margin:20px 0px'> | ||
| 18 | + <Table :width='500' :height='200' border :columns="columns2" :data="data3"></Table> | ||
| 19 | + </div> | ||
| 14 | <div style='margin:20px 0px;'> | 20 | <div style='margin:20px 0px;'> |
| 15 | <Table :data="tableData1" :columns="tableColumns1" :height='500' stripe size='small'></Table> | 21 | <Table :data="tableData1" :columns="tableColumns1" :height='500' stripe size='small'></Table> |
| 16 | <div style="margin: 10px;overflow: hidden"> | 22 | <div style="margin: 10px;overflow: hidden"> |
src/components/table/mixin.js
| @@ -25,7 +25,10 @@ export default { | @@ -25,7 +25,10 @@ export default { | ||
| 25 | width = this.columnsWidth[column._index].width; | 25 | width = this.columnsWidth[column._index].width; |
| 26 | } | 26 | } |
| 27 | // when browser has scrollBar,set a width to resolve scroll position bug | 27 | // when browser has scrollBar,set a width to resolve scroll position bug |
| 28 | - if (width && this.columns.length === index + 1 && top && this.$parent.bodyHeight !== 0) { | 28 | + if(this.columns.length==7 && column.fixed){ |
| 29 | + console.log(column); | ||
| 30 | + } | ||
| 31 | + if (width && this.columns.length === index + 1 && top && this.$parent.bodyHeight !== 0 && column.fixed!=='left' && !this.fixed) { | ||
| 29 | let scrollBarWidth = this.$parent.scrollBarWidth; | 32 | let scrollBarWidth = this.$parent.scrollBarWidth; |
| 30 | if (!this.$parent.showVerticalScrollBar) scrollBarWidth = 0; | 33 | if (!this.$parent.showVerticalScrollBar) scrollBarWidth = 0; |
| 31 | width += scrollBarWidth; | 34 | width += scrollBarWidth; |
src/components/table/table-head.vue
| @@ -87,6 +87,9 @@ | @@ -87,6 +87,9 @@ | ||
| 87 | const style = Object.assign({}, this.styleObject); | 87 | const style = Object.assign({}, this.styleObject); |
| 88 | let scrollBarWidth = this.$parent.scrollBarWidth; | 88 | let scrollBarWidth = this.$parent.scrollBarWidth; |
| 89 | if(!this.$parent.showVerticalScrollBar) scrollBarWidth = 0; | 89 | if(!this.$parent.showVerticalScrollBar) scrollBarWidth = 0; |
| 90 | + | ||
| 91 | + let isLeftFixed = this.$el && this.$el.parentElement.className.indexOf('fixed-header')>0; | ||
| 92 | + if(isLeftFixed) scrollBarWidth = 0; | ||
| 90 | const width = this.$parent.bodyHeight === 0 ? parseInt(this.styleObject.width) : parseInt(this.styleObject.width) + scrollBarWidth; | 93 | const width = this.$parent.bodyHeight === 0 ? parseInt(this.styleObject.width) : parseInt(this.styleObject.width) + scrollBarWidth; |
| 91 | style.width = `${width}px`; | 94 | style.width = `${width}px`; |
| 92 | return style; | 95 | return style; |
src/components/table/table.vue
| @@ -314,7 +314,7 @@ | @@ -314,7 +314,7 @@ | ||
| 314 | if (col.fixed && col.fixed === 'left') { | 314 | if (col.fixed && col.fixed === 'left') { |
| 315 | left.push(col); | 315 | left.push(col); |
| 316 | } else { | 316 | } else { |
| 317 | - other.push(col); | 317 | + //other.push(col); |
| 318 | } | 318 | } |
| 319 | }); | 319 | }); |
| 320 | return left.concat(other); | 320 | return left.concat(other); |
| @@ -326,7 +326,7 @@ | @@ -326,7 +326,7 @@ | ||
| 326 | if (col.fixed && col.fixed === 'right') { | 326 | if (col.fixed && col.fixed === 'right') { |
| 327 | right.push(col); | 327 | right.push(col); |
| 328 | } else { | 328 | } else { |
| 329 | - other.push(col); | 329 | + //other.push(col); |
| 330 | } | 330 | } |
| 331 | }); | 331 | }); |
| 332 | return right.concat(other); | 332 | return right.concat(other); |