页面中包含一个 VirtualList,如示例页面中所示
VirtualList<Person> list = new VirtualList<>();
list.setItems(people);
list.setRenderer(personCardRenderer);
add(list);
列表本身包含许多项目,并且项目将定期添加到列表的末尾。我最初想显示列表的最后一项。
我找不到 API 来滚动到特定索引或列表末尾。尝试通过 Javascript 滚动均未成功。 是否存在针对此问题的解决方案,或者(非常快的)VirtualList 是正确的组件吗?
查看元素documentation,有一个方法,
scrollToIndex
。查看Java API文档,没有Java API可以调用此方法。
你仍然可以这样称呼它:
list.getElement().callJsFunction("scrollToIndex", INDEX);
如果您打算经常这样做,请创建一个实用方法,或者更好的是,扩展
VirtualList
并使用您的类,例如:
public class MyVirtualList<T> extends VirtualList<T> {
...constructors
// Could just return `void`.
public PendingJavaScriptResult scrollToIndex(int index) {
return getElement().callJsFunction("scrollToIndex", index);
}
}
我报告了
scrollToIndex
缺少 Java API,并打开了 PR:https://github.com/vaadin/flow-components/pull/4451.