Vaadin14升级至14.7.6后forwardTo如何实现无参数跳转?
解决方案
Vaadin 14.7.0+版本调整了forwardTo方法的默认逻辑,会自动继承原路由事件携带的查询参数,这是官方明确的版本功能变更,以下是几种无需执行JS即可实现无参数跳转的方案:
使用
forwardTo的重载方法显式传入空查询参数
调用支持传入查询参数的forwardTo重载方法,传入空查询参数覆盖原有继承逻辑即可,完全保留路由事件的转发特性:event.forwardTo(MainPanel.class, QueryParameters.empty());调用
UI.navigate方法执行导航
直接使用UI层的原生导航方法,该方法默认不会继承当前请求的查询参数,会生成干净的目标路由地址:UI.getCurrent().navigate(MainPanel.class);该方案适合不需要依赖路由事件转发上下文的场景,实现逻辑最简单。
全局配置转发参数规则
如果需要全局禁用所有forwardTo操作的参数继承行为,可以自定义路由请求拦截器,在转发逻辑执行前统一将查询参数置空,该方案适合多页面需要统一规则的场景,单页面需求优先选择前两种方案。
内容的提问来源于stack exchange,提问作者Miłosz Bąbliński
相关产品推荐
相关产品推荐

