@@ -18,11 +18,11 @@ const VirtualList = Vue.component('vue-virtual-scroll-list', {
1818 delta : {
1919 start : 0 , // start index
2020 end : 0 , // end index
21- keeps : 0 , // nums of item keeping in real dom
2221 total : 0 , // all items count
23- viewHeight : 0 , // viewport height
22+ keeps : 0 , // nums of item keeping in real dom
23+ viewHeight : 0 , // container wrapper viewport height
2424 allPadding : 0 , // all padding of not-render-yet doms
25- paddingTop : 0 // container real padding-top
25+ paddingTop : 0 // container wrapper real padding-top
2626 } ,
2727
2828 methods : {
@@ -45,10 +45,11 @@ const VirtualList = Vue.component('vue-virtual-scroll-list', {
4545 let start = overs ? overs : 0 ;
4646 let end = overs ? ( overs + delta . keeps ) : delta . keeps ;
4747
48+ // avoid overflow range
4849 if ( overs + this . remainItems >= delta . total ) {
4950 end = delta . total ;
5051 start = delta . total - delta . keeps ;
51- this . $emit ( 'end ' ) ;
52+ this . $emit ( 'toBottom ' ) ;
5253 }
5354
5455 delta . end = end ;
@@ -58,14 +59,14 @@ const VirtualList = Vue.component('vue-virtual-scroll-list', {
5859 this . $forceUpdate ( ) ;
5960 } ,
6061
61- filter ( items ) {
62+ filter ( slots ) {
6263 let delta = this . $options . delta ;
6364
64- delta . total = items . length ;
65+ delta . total = slots . length ;
6566 delta . paddingTop = this . itemHeight * delta . start ;
66- delta . allPadding = this . itemHeight * ( items . length - delta . keeps ) ;
67+ delta . allPadding = this . itemHeight * ( slots . length - delta . keeps ) ;
6768
68- return items . filter ( ( item , index ) => {
69+ return slots . filter ( ( slot , index ) => {
6970 return index >= delta . start && index <= delta . end ;
7071 } ) ;
7172 }
@@ -74,10 +75,10 @@ const VirtualList = Vue.component('vue-virtual-scroll-list', {
7475 beforeMount ( ) {
7576 let remains = this . remainItems ;
7677 let delta = this . $options . delta ;
77- let bench = Math . ceil ( remains / 2 ) ;
78+ let benchs = Math . ceil ( remains / 2 ) ;
7879
79- delta . end = remains + bench ;
80- delta . keeps = remains + bench ;
80+ delta . end = remains + benchs ;
81+ delta . keeps = remains + benchs ;
8182 delta . viewHeight = this . itemHeight * remains ;
8283 } ,
8384
0 commit comments