Можно ли добавить #fragment часть uri в Vaadin 14 и RouterLink? - PullRequest
0 голосов
/ 20 апреля 2020

Можно ли добавить #fragment часть URI в Vaadin 14 и RouterLink?

Я не могу найти что-либо в документах Vaadin.

Мне нужно это, чтобы иметь быстрый доступ к конкретная c часть представления из другого представления.

1 Ответ

1 голос
/ 22 апреля 2020

Можно ли добавить #fragment часть URI в Vaadin 14 и RouterLink?

Нет, это невозможно. Есть решение вашей проблемы *, но RouterLink не имеет никаких средств для определения фрагмента URL, поэтому он прокручивает до элемента HTML с заданным идентификатором.


* Как можно Вместо этого ваши потребности будут реализованы:
Позвольте вашему целевому классу представления реализовать HasUrlParameter<String> (используйте @ Wildcard аннотацию на setParameter, чтобы вы также могли перейти к этому представлению без указания фрагмента-параметра).
В методе setParameter, по вашему мнению, вы затем читаете заданный параметр, и если он не пустой, вы можете выполнить некоторое javascript, которое прокручивается до элемента с заданным идентификатором. Теперь вы можете указать фрагмент в RouterLink следующим образом:
new RouterLink("MyView", MyView.class, "#my-fragment");

Да, это не оптимальное решение, не в долгосрочной перспективе, но если вам действительно нужно это, вы могли бы сделать это.

Пожалуйста, создайте заявку на добавление API в RouterLink для определения фрагментов URL в репозитории github vaadin-flow , если вы хотите, чтобы это произошло.

...