Можно ли добавить #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 , если вы хотите, чтобы это произошло.