gpt4 book ai didi

javascript - 如何在 Vuejs 中使用 vue-virtual-scroll-list?

转载 作者:行者123 更新时间:2023-12-05 00:39:07 24 4
gpt4 key购买 nike

< 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 install vue-virtual-scroll-list --save

最佳答案

您应该为 data-component 创建 vue 组件 Prop 如下:
项目.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 中使用
应用程序.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>
如果您没有每个项目的唯一键,请创建一个计算方法来添加它,如示例中所示。
这里是 code

关于javascript - 如何在 Vuejs 中使用 vue-virtual-scroll-list?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70211021/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com