@@ -18,11 +18,11 @@ const VirtualList = Vue.component('vue-virtual-scroll-list', {
18
18
delta : {
19
19
start : 0 , // start index
20
20
end : 0 , // end index
21
- keeps : 0 , // nums of item keeping in real dom
22
21
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
24
24
allPadding : 0 , // all padding of not-render-yet doms
25
- paddingTop : 0 // container real padding-top
25
+ paddingTop : 0 // container wrapper real padding-top
26
26
} ,
27
27
28
28
methods : {
@@ -45,10 +45,11 @@ const VirtualList = Vue.component('vue-virtual-scroll-list', {
45
45
let start = overs ? overs : 0 ;
46
46
let end = overs ? ( overs + delta . keeps ) : delta . keeps ;
47
47
48
+ // avoid overflow range
48
49
if ( overs + this . remainItems >= delta . total ) {
49
50
end = delta . total ;
50
51
start = delta . total - delta . keeps ;
51
- this . $emit ( 'end ' ) ;
52
+ this . $emit ( 'toBottom ' ) ;
52
53
}
53
54
54
55
delta . end = end ;
@@ -58,14 +59,14 @@ const VirtualList = Vue.component('vue-virtual-scroll-list', {
58
59
this . $forceUpdate ( ) ;
59
60
} ,
60
61
61
- filter ( items ) {
62
+ filter ( slots ) {
62
63
let delta = this . $options . delta ;
63
64
64
- delta . total = items . length ;
65
+ delta . total = slots . length ;
65
66
delta . paddingTop = this . itemHeight * delta . start ;
66
- delta . allPadding = this . itemHeight * ( items . length - delta . keeps ) ;
67
+ delta . allPadding = this . itemHeight * ( slots . length - delta . keeps ) ;
67
68
68
- return items . filter ( ( item , index ) => {
69
+ return slots . filter ( ( slot , index ) => {
69
70
return index >= delta . start && index <= delta . end ;
70
71
} ) ;
71
72
}
@@ -74,10 +75,10 @@ const VirtualList = Vue.component('vue-virtual-scroll-list', {
74
75
beforeMount ( ) {
75
76
let remains = this . remainItems ;
76
77
let delta = this . $options . delta ;
77
- let bench = Math . ceil ( remains / 2 ) ;
78
+ let benchs = Math . ceil ( remains / 2 ) ;
78
79
79
- delta . end = remains + bench ;
80
- delta . keeps = remains + bench ;
80
+ delta . end = remains + benchs ;
81
+ delta . keeps = remains + benchs ;
81
82
delta . viewHeight = this . itemHeight * remains ;
82
83
} ,
83
84
0 commit comments