File tree 1 file changed +23
-15
lines changed
packages/vue-virtual-scroller/src/components
1 file changed +23
-15
lines changed Original file line number Diff line number Diff line change @@ -330,7 +330,6 @@ export default {
330
330
if (! fake) {
331
331
view .nr .used = false
332
332
view .position = - 9999
333
- this .$_views .delete (view .nr .key )
334
333
}
335
334
},
336
335
@@ -534,12 +533,10 @@ export default {
534
533
}
535
534
536
535
let unusedPool = unusedViews .get (type)
536
+ let newlyUsedView = false
537
537
538
538
// No view assigned to item
539
539
if (! view) {
540
- if (i === items .length - 1 ) this .$emit (' scroll-end' )
541
- if (i === 0 ) this .$emit (' scroll-start' )
542
-
543
540
type = item[typeField]
544
541
545
542
if (continuous) {
@@ -564,22 +561,33 @@ export default {
564
561
view = unusedPool[v]
565
562
unusedIndex .set (type, v + 1 )
566
563
}
564
+
565
+ // Assign view to item
566
+ views .delete (view .nr .key )
567
+ view .item = item
568
+ view .nr .used = true
569
+ view .nr .index = i
570
+ view .nr .key = key
571
+ view .nr .type = type
572
+ views .set (key, view)
573
+
574
+ newlyUsedView = true
567
575
} else {
568
576
// View already assigned to item
569
- if (unusedPool) {
570
- const index = unusedPool .indexOf (view)
571
- if (index !== - 1 ) unusedPool .splice (index, 1 )
577
+ if (! view .nr .used ) {
578
+ view .nr .used = true
579
+ newlyUsedView = true
580
+ if (unusedPool) {
581
+ const index = unusedPool .indexOf (view)
582
+ if (index !== - 1 ) unusedPool .splice (index, 1 )
583
+ }
572
584
}
573
585
}
574
586
575
- // Assign view to item
576
- views .delete (view .nr .key )
577
- view .item = item
578
- view .nr .used = true
579
- view .nr .index = i
580
- view .nr .key = key
581
- view .nr .type = type
582
- views .set (key, view)
587
+ if (newlyUsedView) {
588
+ if (i === items .length - 1 ) this .$emit (' scroll-end' )
589
+ if (i === 0 ) this .$emit (' scroll-start' )
590
+ }
583
591
584
592
// Update position
585
593
if (itemSize === null ) {
You can’t perform that action at this time.
0 commit comments