feat: virtualize card grids

This commit is contained in:
jxxghp
2026-05-13 19:07:46 +08:00
parent a4a00586c7
commit 99665c7d79
9 changed files with 860 additions and 234 deletions
+12 -7
View File
@@ -1149,14 +1149,19 @@ onUnmounted(() => {
</div>
</div>
<div v-else-if="filteredRowDataList.length > 0" class="resource-list">
<VVirtualScroll renderless :items="filteredRowDataList" :item-height="240">
<template #default="{ item, index, itemRef }">
<div :ref="itemRef" :key="getTorrentItemKey(item, index)">
<TorrentItem :torrent="item" />
<VDivider v-if="index < filteredRowDataList.length - 1" class="my-2" />
</div>
<ProgressiveCardGrid
:items="filteredRowDataList"
:columns="1"
:gap="8"
:estimated-item-height="240"
:overscan-rows="6"
:get-item-key="getTorrentItemKey"
>
<template #default="{ item, index }">
<TorrentItem :torrent="item" />
<VDivider v-if="index < filteredRowDataList.length - 1" class="my-2" />
</template>
</VVirtualScroll>
</ProgressiveCardGrid>
</div>
</VCard>
</div>