Skip to content

Commit e0209fd

Browse files
committed
Fixe render over in item-mode. #96
1 parent 1161ef9 commit e0209fd

File tree

1 file changed

+14
-12
lines changed

1 file changed

+14
-12
lines changed

index.js

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@
205205
})
206206
},
207207

208-
// force render ui if using item mode.
208+
// force render ui if using item-mode.
209209
itemModeForceRender: function () {
210210
if (this.item) {
211211
this.forceRender()
@@ -344,11 +344,11 @@
344344
},
345345

346346
// filter the shown items base on `start` and `end`.
347-
filter: function () {
347+
filter: function (h) {
348348
var delta = this.delta
349349
var slots = this.$slots.default
350350

351-
// item mode shoud judge from items prop.
351+
// item-mode shoud judge from items prop.
352352
if (this.item) {
353353
delta.total = this.itemcount
354354
} else {
@@ -380,16 +380,18 @@
380380
delta.paddingBottom = paddingBottom
381381
delta.offsetAll = allHeight - this.size * this.remain
382382

383-
var targets = []
384-
for (var i = delta.start; i <= Math.ceil(delta.end); i++) {
385-
// create vnode, using custom attrs binder.
386-
var slot = this.item && this.itemprops
387-
? this.$createElement(this.item, this.itemprops(i))
388-
: slots[i]
389-
targets.push(slot)
383+
var renders = []
384+
for (var i = delta.start; i < delta.total && i <= Math.ceil(delta.end); i++) {
385+
var slot = null
386+
if (this.item) {
387+
slot = h(this.item, this.itemprops(i))
388+
} else {
389+
slot = slots[i]
390+
}
391+
renders.push(slot)
390392
}
391393

392-
return targets
394+
return renders
393395
}
394396
},
395397

@@ -431,7 +433,7 @@
431433
},
432434

433435
render: function (h) {
434-
var list = this.filter()
436+
var list = this.filter(h)
435437
var delta = this.delta
436438
var dbc = this.debounce
437439

0 commit comments

Comments
 (0)