Vaadin 10 滚动查看

Posted

技术标签:

【中文标题】Vaadin 10 滚动查看【英文标题】:Vaadin 10 scrollIntoView 【发布时间】:2019-07-22 02:34:19 【问题描述】:

我的问题在于 vaadin 10。在 vaadin 8 中,我们可以使用 scrollIntoView 函数,但在 vaadin 10 中,我们只能通过执行 javascript 来实现,并且只能在 Grid 类型中滚动。

如何在 vaadin 10 中实现垂直布局等其他组件? (我需要滚动到垂直布局组件)

【问题讨论】:

【参考方案1】:

我找到了我的问题的答案..

只需编写以下代码: Page.getCurrent().getJavaScript().execute("document.getElementById(\"idOfElement\").scrollIntoView()")

不要忘记为您的组件设置 id。 在这里找到它:https://vaadin.com/forum/thread/11503073

【讨论】:

【参考方案2】:

我认为目前还没有 Java API,但可以通过以下 JavaScript 调用来解决它:

UI.getCurrent().getPage().executeJavaScript("$0.scrollTo(0,$0.scrollHeight);", component);

【讨论】:

抱歉,这没有帮助。当我写: UI.getCurrent().getPage().executeJavaScript("$0.scrollTo(0,$0.scrollHeight);", myVL.getComponentAt(25));它不会滚动,也不会出错。请帮忙解决这个问题。 UI.getCurrent().getPage().executeJs("arguments[0].scrollIntoView(behavior:'smooth');", layoutname));应该在这里工作【参考方案3】:

在 Vaadin forum 有人问同样的问题,还有另一个可能的答案:

component.getElement().callJsFunction("scrollIntoView");

在我的应用程序中使用 Vaadin 14.6.x 进行了测试并且运行良好。

【讨论】:

以上是关于Vaadin 10 滚动查看的主要内容,如果未能解决你的问题,请参考以下文章

Vaadin:TextArea 滚动不起作用

Vaadin网格渴望加载

我需要8个视图:窗口大小调整时没有水平滚动条

查找网格中的所有行,即使您必须在网格中向下滚动

中心滚动查看内容

在delphi的滚动框中滚动时如何查看组件是不是不在视图中?