< script >
export default {
name: 'App',
data() {
return {
items: [{
price: '1',
name: 'mm'
},
{
price: '22',
name: 'aa'
},
{
price: '55',
name: 'dd'
},
{
price: '77',
name: 'gg'
},
{
price: '123',
name: 'kk'
},
{
price: '53',
name: 'mn'
},
{
price: '11',
name: 'mm'
},
{
price: '22',
name: 'a'
},
{
price: '33',
name: 'd'
},
{
price: '77',
name: 'g'
},
{
price: '1283',
name: 'k'
},
{
price: '589',
name: 'n'
}
]
}
}
} <
/script><template>
<div id="app">
<div class="wrapper">
<virtual-list
class="list"
style="height: 360px; overflow-y: auto"
:data-key="'item'"
:data-sources="item"
:data-component="item"
:estimate-size="3"
/>
<div class="item" v-for="item in items" :key="item">
<div class="id">{{ item.price }} {{ item.name }}</div>
</div>
</div>
</div>
</template>
我试图在vuejs中实现虚拟滚动,我也可以在ui中呈现列表,但无法在虚拟滚动中呈现它们。如图像所示。
我试图在vuejs中实现虚拟滚动,我也可以在ui中呈现列表,但无法在虚拟滚动中呈现它们。如图像所示。
尝试安装:- npm安装vue-虚拟-滚动列表-保存
发布于 2021-12-03 08:40:38
您应该为data-component支柱创建vue组件,如下所示:
Item.vue
<template>
<div class="item">
<span>{{ index }} - {{ source.name }}</span>
</div>
</template>
<script>
export default {
props: {
index: {
type: Number,
default: 0
},
source: {
type: Object,
default() {
return {}
}
}
}
}
</script>
<style lang="scss" scoped>
.item {
border-bottom: 1px solid gray;
}
</style>然后在virtual-list中使用
App.vue
<template>
<div id="app">
<div class="wrapper">
<virtual-list
class="list"
style="height: 360px; overflow-y: auto"
data-key="key"
:keeps="20"
:data-sources="computedItems"
:data-component="Item"
/>
</div>
</div>
</template>
<script>
import Item from './Item'
export default {
name: 'App',
data() {
return {
Item,
items: [
{ price: '1', name: 'mm' },
{ price: '22', name: 'aa' },
{ price: '55', name: 'dd' },
{ price: '77', name: 'gg' },
{ price: '123', name: 'kk' },
{ price: '53', name: 'mn' },
{ price: '11', name: 'mm' },
{ price: '22', name: 'a' },
{ price: '33', name: 'd' },
{ price: '77', name: 'g' },
{ price: '1283', name: 'k' },
{ price: '589', name: 'n' }
]
}
},
computed: {
computedItems() {
return this.items.map((item, index) => {
item.key = `item_${index}`
return item
})
}
}
}
</script>如果您没有每个项的唯一键,请创建一个计算方法,以便在示例中添加它。
这是代码
https://stackoverflow.com/questions/70211021
复制相似问题