|
45 | 45 | wclass: { type: String, default: '' },
|
46 | 46 | start: { type: Number, default: 0 },
|
47 | 47 | debounce: { type: Number, default: 0 },
|
| 48 | + bench: Number, |
48 | 49 | totop: Function,
|
49 | 50 | tobottom: Function,
|
50 | 51 | onscroll: Function
|
|
57 | 58 | end: 0, // End index.
|
58 | 59 | total: 0, // All items count.
|
59 | 60 | keeps: 0, // Nums keeping in real dom.
|
60 |
| - benchs: 0, // Nums scroll pass should force update. |
| 61 | + bench: 0, // Nums scroll pass should force update. |
61 | 62 | scrollTop: 0, // Store scrollTop.
|
62 |
| - scrollDirect: 'd', // Scroll direction. |
| 63 | + scrollDirect: 'd', // Store scroll direction. |
63 | 64 | viewHeight: 0, // Container wrapper viewport height.
|
64 | 65 | allPadding: 0, // All padding of not-render-yet doms.
|
65 | 66 | paddingTop: 0, // Container wrapper real padding-top.
|
|
128 | 129 | start = zone.start
|
129 | 130 | }
|
130 | 131 |
|
131 |
| - // If scroll pass items within now benchs, do not update. |
132 |
| - if (!isOver && (overs > delta.start) && (overs - delta.start <= delta.benchs)) { |
| 132 | + // For better performance, if scroll pass items within now bench, do not update. |
| 133 | + if (!isOver && (overs > delta.start) && (overs - delta.start <= delta.bench)) { |
133 | 134 | return
|
134 | 135 | }
|
135 | 136 |
|
|
196 | 197 | }
|
197 | 198 |
|
198 | 199 | var hasPadding = slots.length > delta.keeps
|
199 |
| - |
200 | 200 | delta.total = slots.length
|
201 | 201 | delta.paddingTop = this.size * (hasPadding ? delta.start : 0)
|
202 | 202 | delta.allPadding = this.size * (hasPadding ? slots.length - delta.keeps : 0)
|
|
209 | 209 |
|
210 | 210 | beforeMount: function () {
|
211 | 211 | var delta = this.delta
|
212 |
| - var remain = this.remain |
213 |
| - var benchs = Math.round(remain / 2) |
214 |
| - |
215 |
| - delta.benchs = benchs |
216 |
| - delta.keeps = remain + benchs |
217 |
| - delta.viewHeight = this.size * remain |
218 |
| - delta.start = this.start >= remain ? this.start : 0 |
219 |
| - delta.end = this.start + remain + benchs |
| 212 | + delta.bench = this.bench || this.remain |
| 213 | + delta.keeps = this.remain + delta.bench |
| 214 | + delta.viewHeight = this.size * this.remain |
| 215 | + delta.start = this.start >= this.remain ? this.start : 0 |
| 216 | + delta.end = this.start + this.remain + delta.bench |
220 | 217 | },
|
221 | 218 |
|
222 | 219 | mounted: function () {
|
|
0 commit comments