gpt4 book ai didi

vuetify.js - 如何以编程方式滚动到 v-list 中的特定 v-list-item?

转载 作者:行者123 更新时间:2023-12-05 05:47:55 28 4
gpt4 key购买 nike

我正在使用 Vue/Vuetify 并且有一个可滚动的 v-list:

<v-layout scrollable ...
<v-list ...
<template v-for=id...
<v-list-item :key=id...

是否可以通过编程方式滚动项目,以便特定项目位于可滚动列表的可见区域?

最佳答案

您可以使用纯 JavaScript 方法滚动到任何 DOM 元素 scrollIntoView .

在此之前,您可以为列表中的每个元素指定一个 id。例如,这样:

<v-container>
<v-row>
<v-col>
<v-btn
ref="button"
block
color="primary"
@click="scrollTo"
>
scroll to Item-20
</v-btn>
</v-col>

<v-col cols="12">
<v-card>
<v-list max-height="300" class="overflow-y-auto">
<v-subheader>ITEMS</v-subheader>
<v-list-item
v-for="(item, i) in items"
:key="i"
:id="'list-item-' + (item.id + 1)">
<v-list-item-content>
<v-list-item-title v-text="item.text"></v-list-item-title>
</v-list-item-content>
</v-list-item>
</v-list>
</v-card>
</v-col>
</v-row>
</v-container>
...
data () {
return {
items: [],
}
},
mounted() {
for (let i = 0; i < 50; i++) {
this.items.push({ id: i, text: 'Item-' + (i + 1)})
}
},
methods: {
scrollTo() {
document.getElementById("list-item-20").scrollIntoView()
}
}

测试这个at CodePen .

附注: v-layout API 中没有scrollable 属性。 .至少,在最新的 v2.6.3 中。

关于vuetify.js - 如何以编程方式滚动到 v-list 中的特定 v-list-item?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70909968/

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