【问题标题】:Vaadin & Spring Boot, Reset/Refresh a ComponentVaadin 和 Spring Boot,重置/刷新组件
【发布时间】:2016-12-13 10:34:30
【问题描述】:

我有许多扩展 VerticalLayout 的布局。我正在从主布局中删除所有这些,将其中一个添加到主布局中,以更改“页面”。首先,有没有更好的选择?

我的主要问题是,由于我要添加在另一个范围内创建的相同组件,因此布局的内容在我刷新之前不会改变。我希望在单击菜单栏中的图标后更改它。

所以我正在寻找像 component.refresh() 这样的方法或类似的方法。

我怎样才能做到这一点?

【问题讨论】:

  • 我建议你看看 Navigator 类。
  • @Chris M 导航器是否重置组件?
  • 如果你让你的 VerticalLayouts 实现 View,并在导航器中注册它们的类,它会在你每次导航时创建一个新实例
  • 您是否在“请求”之外执行此操作(例如,来自线程?)。在这种情况下,您将不得不使用轮询/推送来完成这项工作。但是,如果您只是响应单击按钮而删除/添加组件,则不需要刷新-这会改变状态,将其发送回客户端并重新渲染。也许你可以分享一些代码?

标签: spring vaadin


【解决方案1】:

您缺少的是: 1.您不能将一个组件添加到两个或多个父级。将组件添加到 parent2 的那一刻,它会从 parent1 中删除(当你点击刷新时你会看到这个) 2. 你没有在你的 UI 类上使用@PreserveOnRefresh

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 2018-03-23
    • 2020-07-18
    • 2019-07-30
    • 2021-11-13
    • 1970-01-01
    • 2014-12-30
    相关资源
    最近更新 更多