Skip to content

Commit babf33d

Browse files
committed
fix some problem in item-mode
1 parent 2393631 commit babf33d

File tree

14 files changed

+471
-335
lines changed

14 files changed

+471
-335
lines changed

examples/build/finite.js

Lines changed: 57 additions & 55 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/build/infinite.js

Lines changed: 62 additions & 60 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 216 additions & 124 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/build/variable.js

Lines changed: 42 additions & 39 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

examples/entries.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
module.exports = [
33
'finite',
4-
'finite-m',
54
'infinite',
65
'variable',
6+
'item-mode',
77
]

examples/finite/finite.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<input type="text" v-model.number.lazy="startIndex">
66
<small>Change and blur to set start index.</small>
77
</div>
8-
<VirtualList :size="50" :remain="6" :bench="44" class="list" :start="startIndex">
8+
<VirtualList :size="50" :remain="6" class="list" :start="startIndex">
99
<Item v-for="(udf, index) of items" :index="index" :key="index"></Item>
1010
</VirtualList>
1111
<div class="source">

examples/finite/item.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@
1616
line-height: 50px;
1717
padding-left: 20px;
1818
border-bottom: 1px solid #eee;
19+
box-sizing: border-box;
1920
}
2021
</style>

examples/infinite/item.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,5 +16,6 @@
1616
line-height: 50px;
1717
padding-left: 20px;
1818
border-bottom: 1px solid #eee;
19+
box-sizing: border-box;
1920
}
2021
</style>
Lines changed: 54 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,58 @@
11
<template>
22
<div>
3-
<div class="scrollToIndex">
4-
<span>Scroll to index: </span>
5-
<input type="text" v-model.number.lazy="startIndex">
6-
<small>Change and blur to set start index.</small>
3+
<div class="op">
4+
<div class="op-item"><label>count:</label><input type="text" v-model.number.lazy="count"></div>
5+
<div class="op-item"><label>start: </label><input type="text" v-model.number.lazy="start"></div>
6+
<div class="op-item"><label>remain: </label><input type="text" v-model.number.lazy="remain"></div>
7+
<!-- <div class="op-item"><label>size: </label><input type="text" v-model.number.lazy="size"></div> -->
8+
<div class="op-item"><label>bench: </label><input type="text" v-model.number.lazy="bench"></div>
79
</div>
8-
<VirtualList :size="50" :remain="6" :bench="44" class="list" :start="startIndex"
9-
:items="items" :item-component="itemComponent" :item-binding="itemBinding">
10-
</VirtualList>
11-
<div class="source">
10+
<VirtualList class="list"
11+
:size="50"
12+
:remain="remain"
13+
:bench="bench"
14+
:start="start"
15+
:items="items"
16+
:item="itemComponent"
17+
:itemprop="itemBinding"
18+
></VirtualList>
19+
<!-- <div class="source">
1220
<a href="https://github.com/tangbc/vue-virtual-scroll-list/blob/master/examples/finite/finite.vue#L1">
1321
View this demo source code
1422
</a>
15-
</div>
23+
</div> -->
1624
</div>
1725
</template>
1826

1927
<script>
2028
import Item from './item.vue'
2129
import VirtualList from 'vue-virtual-scroll-list'
2230
31+
function getList (count) {
32+
return new Array(count)
33+
}
34+
35+
var INIT_COUNT = 1000
36+
2337
export default {
24-
name: 'finite-test',
38+
name: 'finite-test-item-mode',
2539
2640
components: { Item, VirtualList },
2741
2842
data () {
2943
return {
44+
count: INIT_COUNT,
45+
start: 0,
46+
remain: 6,
47+
bench: 6,
48+
items: getList(INIT_COUNT),
3049
itemComponent: Item,
31-
startIndex: 0,
32-
items: ((n) => {
33-
let temp = [];
34-
35-
for (let i = 0; i < n; ++i) {
36-
temp.push(i);
37-
// temp.push({
38-
// id: `id-${i}`,
39-
// num: i
40-
// });
41-
}
50+
}
51+
},
4252
43-
return temp;
44-
})(100000)
53+
watch: {
54+
count: function (val) {
55+
this.items = getList(Math.max(parseInt(val, 10), 0))
4556
}
4657
},
4758
@@ -51,11 +62,12 @@
5162
// return 45;
5263
// },
5364
54-
itemBinding(item, idx) {
65+
itemBinding (idx) {
66+
const item = this.items[idx]
5567
return {
5668
key: item,
5769
props: {
58-
index: item
70+
index: idx
5971
}
6072
};
6173
@@ -79,6 +91,23 @@
7991
.scrollToIndex {
8092
padding-bottom: 20px;
8193
}
94+
.op {
95+
padding-bottom: 1em;
96+
}
97+
.op-item {
98+
padding: .2em 0;
99+
}
100+
label {
101+
display: inline-block;
102+
width: 100px;
103+
padding-right: 1em;
104+
text-align: right;
105+
}
106+
input {
107+
outline: none;
108+
padding: .5em;
109+
width: 80px;
110+
}
82111
input {
83112
outline: none;
84113
padding: .4em .5em;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ <h1 class="title">
3535
<div class="appWraper">
3636
<div id="app"></div>
3737
</div>
38-
<script src="../build/finite-m.js"></script>
38+
<script src="../build/item-mode.js"></script>
3939
</body>
4040
</html>

0 commit comments

Comments
 (0)