Ваадин 10 scrollIntoView

Моя проблема связана с vaadin 10. В vaadin 8 мы можем использовать функцию scrollIntoView, но в vaadin 10 мы можем сделать это, только выполнив Javascript, и мы можем прокручивать только в виде сетки.

Как сделать это для других компонентов, таких как вертикальное расположение в vaadin 10? (Мне нужно прокрутить до компонента вертикального макета)


person Champ    schedule 28.02.2019    source источник


Ответы (3)


нашел ответ на свой вопрос..

Просто напишите этот код: Page.getCurrent().getJavaScript().execute("document.getElementById(\"idOfElement\").scrollIntoView()")

Не забудьте установить идентификатор для вашего компонента. Нашел здесь: https://vaadin.com/forum/thread/11503073

person Champ    schedule 01.03.2019

Я думаю, что для этого еще нет Java API, но это можно обойти, выполнив следующий вызов JavaScript:

UI.getCurrent().getPage().executeJavaScript("$0.scrollTo(0,$0.scrollHeight);", component);
person Tatu Lund    schedule 28.02.2019
comment
Извините, но это не помогло. Когда я пишу: UI.getCurrent().getPage().executeJavaScript($0.scrollTo(0,$0.scrollHeight);, myVL.getComponentAt(25)); он не прокручивается, а также не выдает ошибок. Пожалуйста, помогите с этой проблемой. - person Champ; 28.02.2019
comment
UI.getCurrent().getPage().executeJs(arguments[0].scrollIntoView({behavior:'smooth'});, имя макета)); здесь должно работать - person schaphekar; 08.07.2021

На форуме Vaadin кто-то спросил то же самое, и был другой возможный ответ:

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

Протестировано в моем приложении с Vaadin 14.6.x и работает нормально.

person Steffen Harbich    schedule 08.07.2021