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