|
4 | 4 | <span> |
5 | 5 | <input v-model="countInput" type="number" min="0" max="500000" /> items |
6 | 6 | </span> |
| 7 | + <span> |
| 8 | + <input v-model="buffer" type="number" min="1" max="500000" /> buffer |
| 9 | + </span> |
| 10 | + <span> |
| 11 | + <input v-model="poolSize" type="number" min="1" max="500000" /> poolSize |
| 12 | + </span> |
7 | 13 | <span v-if="generateTime !== null"> |
8 | 14 | Items generation: {{ generateTime }} ms |
9 | 15 | </span> |
10 | | - <span v-if="updateTime !== null"> |
11 | | - Virtual scroller update: {{ updateTime }} ms |
12 | | - </span> |
13 | 16 | <span> |
14 | 17 | <button @mousedown="showScroller = !showScroller">Toggle scroller</button> |
15 | 18 | <label><input type="checkbox" v-model="scopedSlots" /> Scoped slots</label> |
|
18 | 21 | <div class="content" v-if="showScroller"> |
19 | 22 | <div class="wrapper"> |
20 | 23 | <!-- Scoped slots --> |
21 | | - <virtual-scroller v-if="scopedSlots" class="scroller" :items="items" item-height="42" main-tag="section" content-tag="table"> |
| 24 | + <virtual-scroller v-if="scopedSlots" class="scroller" :items="items" main-tag="section" content-tag="table" :buffer="buffer" :pool-size="poolSize"> |
22 | 25 | <template scope="props"> |
23 | 26 | <!-- <letter v-if="props.item.type === 'letter'" :item="props.item"></letter>--> |
24 | | - <tr v-if="props.item.type === 'letter'" class="letter"> |
| 27 | + <tr v-if="props.item.type === 'letter'" class="letter" :key="props.itemKey"> |
25 | 28 | <td class="index"> |
26 | 29 | {{props.item.index}} |
27 | 30 | </td> |
28 | 31 | <td> |
29 | 32 | {{props.item.value}} Scoped |
30 | 33 | </td> |
31 | 34 | </tr> |
32 | | - <item v-if="props.item.type === 'person'" :item="props.item"></item> |
| 35 | + <item v-if="props.item.type === 'person'" :item="props.item" :key="props.itemKey"></item> |
33 | 36 | </template> |
34 | 37 | </virtual-scroller> |
35 | 38 |
|
36 | 39 | <!-- Renderers --> |
37 | | - <virtual-scroller v-else class="scroller" :items="items" :renderers="renderers" item-height="42" type-field="type" key-field="index" main-tag="section" content-tag="table"></virtual-scroller> |
| 40 | + <virtual-scroller v-else class="scroller" :items="items" :renderers="renderers" type-field="type" key-field="index" main-tag="section" content-tag="table"></virtual-scroller> |
38 | 41 | </div> |
39 | 42 | </div> |
40 | 43 | </div> |
@@ -65,6 +68,8 @@ export default { |
65 | 68 | updateTime: null, |
66 | 69 | showScroller: true, |
67 | 70 | scopedSlots: false, |
| 71 | + buffer: 0, |
| 72 | + poolSize: 1, |
68 | 73 | }), |
69 | 74 |
|
70 | 75 | watch: { |
@@ -191,7 +196,12 @@ body { |
191 | 196 | .letter { |
192 | 197 | text-transform: uppercase; |
193 | 198 | color: grey; |
194 | | - font-weight: bold; |
| 199 | + font-weight: lighter; |
| 200 | + height: 200px; |
| 201 | +} |
| 202 | +
|
| 203 | +.letter .value { |
| 204 | + font-size: 120px; |
195 | 205 | } |
196 | 206 |
|
197 | 207 | .index { |
|
0 commit comments