是否可以在 Vaadin 14 和 RouterLink 中添加#fragment
部分 URI?
我在 Vaadin 文档中找不到任何内容。
我需要它才能从另一个视图快速访问视图的特定部分。
是否可以在 Vaadin 14 和 RouterLink 中添加#fragment
部分 URI?
我在 Vaadin 文档中找不到任何内容。
我需要它才能从另一个视图快速访问视图的特定部分。
是否可以在 Vaadin 14 和 RouterLink 中添加 URI 的#fragment 部分?
不,那是不可能的。您的问题有一个解决方案*,但RouterLink
没有任何方法来定义 url 片段,因此它会滚动到具有给定 id 的 HTML 元素。
*如何实现您的需求:
让您的目标视图类实现HasUrlParameter<String>
(在 setParameter 上使用@Wildcard注释,以便您也可以导航到此视图而无需指定片段参数)。
在您视图中的 setParameter 方法中,您然后读取给定参数,如果它不为空,您可以执行一些 javascript 滚动到具有给定 id 的元素。现在您可以像这样在 RouterLink 中指定片段:
new RouterLink("MyView", MyView.class, "#my-fragment");
是的,这不是一个最佳解决方案,远非如此,但如果你真的需要它,你可以做到。
如果您希望这种情况发生,请创建一个票证,用于将 API 添加到 RouterLink 以在vaadin-flow 的 github存储库中定义 url 片段。