From 6af6a2730d827c67afe70f82c2ed6310521248b9 Mon Sep 17 00:00:00 2001 From: VLT Date: Thu, 6 Feb 2025 13:24:13 +0300 Subject: [PATCH] Fix Issue primefaces#6986 --- packages/primevue/src/virtualscroller/VirtualScroller.vue | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/primevue/src/virtualscroller/VirtualScroller.vue b/packages/primevue/src/virtualscroller/VirtualScroller.vue index a1c4231f0..719af6150 100644 --- a/packages/primevue/src/virtualscroller/VirtualScroller.vue +++ b/packages/primevue/src/virtualscroller/VirtualScroller.vue @@ -430,9 +430,12 @@ export default { return _currentIndex <= _numT ? _numT : _isScrollDownOrRight ? _last - _num - _numT : _first + _numT - 1; }; - const calculateFirst = (_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight) => { + const calculateFirst = (_currentIndex, _triggerIndex, _first, _last, _num, _numT, _isScrollDownOrRight, _isCols) => { if (_currentIndex <= _numT) return 0; - else return Math.max(0, _isScrollDownOrRight ? (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT); + const firstValue = Math.max(0, _isScrollDownOrRight ? (_currentIndex < _triggerIndex ? _first : _currentIndex - _numT) : _currentIndex > _triggerIndex ? _first : _currentIndex - 2 * _numT); + const maxFirst = this.getLast(firstValue, _isCols) + if (firstValue > maxFirst) return maxFirst - _num; + else return firstValue }; const calculateLast = (_currentIndex, _first, _last, _num, _numT, _isCols) => {