Skip to content

Commit d4f213c

Browse files
authored
fix(grid): [grid] fix scrollLeft error after header drag resize (#3087)
* fix(grid): [grid] fix scrollLeft error after header drag resize * fix(grid): [grid] fix scrollLeft error after header drag resize
1 parent cd468ac commit d4f213c

File tree

1 file changed

+25
-1
lines changed
  • packages/vue/src/grid/src/header/src

1 file changed

+25
-1
lines changed

packages/vue/src/grid/src/header/src/header.ts

+25-1
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,31 @@ const documentOnmouseup = function ({
412412
Object.assign($table, { _isResize: false, _lastResizeTime: Date.now() })
413413

414414
$table.analyColumnWidth()
415-
$table.recalculate()
415+
$table.recalculate().then(() => {
416+
// 拖拽后,需要同步表头的scrollLeft
417+
const { tableBody, tableFooter, tableHeader } = $table.$refs || {}
418+
const headerElm = tableHeader?.$el
419+
const bodyElm = tableBody?.$el
420+
const footerElm = tableFooter?.$el
421+
if (!headerElm) {
422+
return
423+
}
424+
const elemStore = $table.elemStore
425+
if (bodyElm) {
426+
bodyElm.scrollLeft = headerElm.scrollLeft
427+
}
428+
if (footerElm) {
429+
footerElm.scrollLeft = headerElm.scrollLeft
430+
}
431+
432+
if (!elemStore['main-header-repair']) {
433+
return
434+
}
435+
elemStore['main-body-xSpace'].style.width = elemStore['main-header-repair'].style.width
436+
if (elemStore['main-footer-xSpace']) {
437+
elemStore['main-footer-xSpace'].style.width = elemStore['main-header-repair'].style.width
438+
}
439+
})
416440
updateResizableToolbar($table)
417441
emitEvent($table, 'resizable-change', [params])
418442
}

0 commit comments

Comments
 (0)