vxe-table@3.7.10 固定栏快速滚动BUG修复

首先找到依赖目录文件夹位置

找到 \node_modules\vxe-table\lib\table\src\body.js 文件

找到这个js代码判断,scrollProcessTimeout 这里就是出现问题了,默认是300毫秒,导致计算不及时,导致标签出现空白区域。

我这里的代码片段改成200毫秒,完美解决滚动出现的空白区域,虽然会有点闪动,没关系,你可以在调低一点。

js

/**
 * 同步滚动条
 */
var scrollProcessTimeout
function syncBodyScroll(_vm, fixedType, scrollTop, elem1, elem2) {
  if (elem1 || elem2) {
    if (elem1) {
      (0, _util.removeScrollListener)(elem1)
      elem1.scrollTop = scrollTop
    }
    if (elem2) {
      (0, _util.removeScrollListener)(elem2)
      elem2.scrollTop = scrollTop
    }
    clearTimeout(scrollProcessTimeout)
    scrollProcessTimeout = setTimeout(function () {
      // const { tableBody, leftBody, rightBody } = _vm.$refs
      // const bodyElem = tableBody.$el
      // const leftElem = leftBody ? leftBody.$el : null
      // const rightElem = rightBody ? rightBody.$el : null
      (0, _util.restoreScrollListener)(elem1);
      (0, _util.restoreScrollListener)(elem2)
      // 检查滚动条是的同步
      // let targetTop = bodyElem.scrollTop
      // if (fixedType === 'left') {
      //   if (leftElem) {
      //     targetTop = leftElem.scrollTop
      //   }
      // } else if (fixedType === 'right') {
      //   if (rightElem) {
      //     targetTop = rightElem.scrollTop
      //   }
      // }
      // setScrollTop(bodyElem, targetTop)
      // setScrollTop(leftElem, targetTop)
      // setScrollTop(rightElem, targetTop)
    }, 200) // 原本这里是300, 改成300一下,挨个试试,可以解决计算不及时问题
  }
}
备案号: 湘ICP备2021015274号-3