@@ -344,6 +344,8 @@ export const VSlideGroup = genericComponent<new <T>(
344
344
isSelected : group . isSelected ,
345
345
} ) )
346
346
347
+ const hasOverflowOrScroll = computed ( ( ) => isOverflowing . value || Math . abs ( scrollOffset . value ) > 0 )
348
+
347
349
const hasAffixes = computed ( ( ) => {
348
350
switch ( props . showArrows ) {
349
351
// Always show arrows on desktop & mobile
@@ -354,20 +356,20 @@ export const VSlideGroup = genericComponent<new <T>(
354
356
355
357
// Show arrows on mobile when overflowing.
356
358
// This matches the default 2.2 behavior
357
- case true : return isOverflowing . value || Math . abs ( scrollOffset . value ) > 0
359
+ case true : return hasOverflowOrScroll . value
358
360
359
361
// Always show on mobile
360
362
case 'mobile' : return (
361
363
mobile . value ||
362
- ( isOverflowing . value || Math . abs ( scrollOffset . value ) > 0 )
364
+ hasOverflowOrScroll . value
363
365
)
364
366
365
367
// https://material.io/components/tabs#scrollable-tabs
366
368
// Always show arrows when
367
369
// overflowed on desktop
368
370
default : return (
369
371
! mobile . value &&
370
- ( isOverflowing . value || Math . abs ( scrollOffset . value ) > 0 )
372
+ hasOverflowOrScroll . value
371
373
)
372
374
}
373
375
} )
@@ -378,7 +380,7 @@ export const VSlideGroup = genericComponent<new <T>(
378
380
} )
379
381
380
382
const hasNext = computed ( ( ) => {
381
- if ( ! containerRef . value ) return false
383
+ if ( ! containerRef . value || ! hasOverflowOrScroll . value ) return false
382
384
383
385
const scrollSize = getScrollSize ( isHorizontal . value , containerRef . el )
384
386
const clientSize = getClientSize ( isHorizontal . value , containerRef . el )
0 commit comments