【问题标题】:Is it possible to add #fragment part of uri in Vaadin 14 and RouterLink?是否可以在 Vaadin 14 和 RouterLink 中添加 uri 的#fragment 部分?
【发布时间】:2020-04-19 22:55:49
【问题描述】:

是否可以在 Vaadin 14 和 RouterLink 中添加 #fragment 部分 URI?

我在 Vaadin 文档中找不到任何内容。

我需要这个才能从另一个视图快速访问视图的特定部分。

【问题讨论】:

标签: java vaadin routerlink vaadin14


【解决方案1】:

是否可以在 Vaadin 14 和 RouterLink 中添加 URI 的#fragment 部分?

不,这是不可能的。您的问题有一个解决方案*,但RouterLink 没有任何方法来定义 url 片段,因此它会滚动到具有给定 id 的 HTML 元素。


*如何实现您的需求:
让您的目标视图类实现 HasUrlParameter<String>(在 setParameter 上使用 @Wildcard 注释,这样您也可以在不指定片段参数的情况下导航到该视图)。
在您视图中的 setParameter 方法中,您然后读取给定的参数,如果它不为空,您可以执行一些滚动到具有给定 id 的元素的 javascript。现在您可以像这样在 RouterLink 中指定片段:
new RouterLink("MyView", MyView.class, "#my-fragment");

是的,这不是一个最佳的解决方案,不是很远,但如果你真的需要它,你可以做到。

如果您希望发生这种情况,请创建一个票证,将 API 添加到 RouterLink 以在 github repo of vaadin-flow 中定义 url 片段。

【讨论】:

    猜你喜欢
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多