@@ -340,7 +340,7 @@ var VirtualScroller = { render: function render() {
340
340
} ) : [ _vm . _l ( _vm . visibleItems , function ( item , index ) {
341
341
return _vm . _t ( "default" , null , { item : item , itemIndex : _vm . _startIndex + index , itemKey : _vm . keysEnabled && item [ _vm . keyField ] || undefined } ) ;
342
342
} ) ] ] , 2 ) , _vm . _v ( " " ) , _vm . _t ( "after-content" ) ] , 2 ) , _vm . _v ( " " ) , _vm . _t ( "after-container" ) , _vm . _v ( " " ) , _c ( 'resize-observer' , { on : { "notify" : _vm . handleResize } } ) ] , 2 ) ;
343
- } , staticRenderFns : [ ] , _scopeId : 'data-v-727d6836 ' ,
343
+ } , staticRenderFns : [ ] , _scopeId : 'data-v-2b1f2e05 ' ,
344
344
name : 'virtual-scroller' ,
345
345
346
346
mixins : [ Scroller ] ,
@@ -593,10 +593,10 @@ var uid = 0;
593
593
var RecycleList = { render : function render ( ) {
594
594
var _vm = this ; var _h = _vm . $createElement ; var _c = _vm . _self . _c || _h ; return _c ( 'div' , { directives : [ { name : "observe-visibility" , rawName : "v-observe-visibility" , value : _vm . handleVisibilityChange , expression : "handleVisibilityChange" } ] , staticClass : "recycle-list" , class : _vm . cssClass , on : { "&scroll" : function scroll ( $event ) {
595
595
_vm . handleScroll ( $event ) ;
596
- } } } , [ _c ( 'div' , { staticClass : "item-wrapper" , style : ' height:' + _vm . totalHeight + 'px' } , _vm . _l ( _vm . pool , function ( view ) {
597
- return _c ( 'div' , { key : view . nr . id , staticClass : "item-view" , style : ' transform:translateY(' + view . top + 'px)' } , [ _vm . _t ( "default" , null , { item : view . item } ) ] , 2 ) ;
596
+ } } } , [ _c ( 'div' , { staticClass : "item-wrapper" , style : { height : _vm . totalHeight + 'px' } } , _vm . _l ( _vm . pool , function ( view ) {
597
+ return _c ( 'div' , { key : view . nr . id , staticClass : "item-view" , style : { transform : ' translateY(' + view . top + 'px)' } } , [ _vm . _t ( "default" , null , { item : view . item } ) ] , 2 ) ;
598
598
} ) ) , _vm . _v ( " " ) , _c ( 'resize-observer' , { on : { "notify" : _vm . handleResize } } ) ] , 1 ) ;
599
- } , staticRenderFns : [ ] , _scopeId : 'data-v-68940351 ' ,
599
+ } , staticRenderFns : [ ] , _scopeId : 'data-v-2277f571 ' ,
600
600
name : 'RecycleList' ,
601
601
602
602
mixins : [ Scroller ] ,
@@ -812,8 +812,8 @@ var RecycleList = { render: function render() {
812
812
813
813
if ( this . $_continuous !== continuous ) {
814
814
if ( continuous ) {
815
- this . $_views . clear ( ) ;
816
- this . $_unusedViews . clear ( ) ;
815
+ views . clear ( ) ;
816
+ unusedViews . clear ( ) ;
817
817
for ( var _i = 0 , l = pool . length ; _i < l ; _i ++ ) {
818
818
view = pool [ _i ] ;
819
819
this . unuseView ( view ) ;
@@ -823,8 +823,14 @@ var RecycleList = { render: function render() {
823
823
} else if ( continuous ) {
824
824
for ( var _i2 = 0 , _l = pool . length ; _i2 < _l ; _i2 ++ ) {
825
825
view = pool [ _i2 ] ;
826
- if ( view . nr . used && ( view . nr . index < startIndex || view . nr . index > endIndex || checkItem && ! items . includes ( view . item ) ) ) {
827
- this . unuseView ( view ) ;
826
+ if ( view . nr . used ) {
827
+ // Update view item index
828
+ if ( checkItem ) view . nr . index = items . indexOf ( view . item ) ;
829
+
830
+ // Check if index is still in visible range
831
+ if ( view . nr . index === - 1 || view . nr . index < startIndex || view . nr . index > endIndex ) {
832
+ this . unuseView ( view ) ;
833
+ }
828
834
}
829
835
}
830
836
}
@@ -906,7 +912,7 @@ function registerComponents(Vue, prefix) {
906
912
907
913
var plugin$4 = {
908
914
// eslint-disable-next-line no-undef
909
- version : "0.11.0 " ,
915
+ version : "0.11.1 " ,
910
916
install : function install ( Vue , options ) {
911
917
var finalOptions = Object . assign ( { } , {
912
918
installComponents : true ,
0 commit comments