java - 如何刷新 CDIView 以反射(reflect)在另一个 CDIView 中所做的更改?

标签 java navigation vaadin cdi

我正在使用 cdi-helpers 插件,我的 UI 扩展了 ViewMenuUI。我有 CDIViews

OGSContractView

@UIScoped
@CDIView("Contract")
@ViewMenuItem(order = ViewMenuItem.DEFAULT, icon = FontAwesome.BANK)
public class OGSContractView extends CssLayout implements View{ 
    // There's some UI Fields and some Functions to refresh the UI Fields
    public void RefreshList(){...}
}

学校 View

@UIScoped
@CDIView("School")
@ViewMenuItem(order = ViewMenuItem.DEFAULT, icon = FontAwesome.BANK)
public class SchoolView extends CssLayout implements View{
    //Some UI and functions inside
    //here, after some changes, I want to call a Refresh_Function 
    //from my OGSContractView class
    someData.saveInDatabase();
    ogsContractView.refreshList(); // here is my problem
}

SchoolView 中,我正在更改数据库中的一些数据,之后我想调用 OGSContractView.refreshList() 来更新其中的一些 ui 字段。

我该怎么做?

最佳答案

更新问题。您不需要从另一个 View 调用 refresh()

您可以重写OGSContractView上的方法public void Enter(ViewChangeEvent event),例如

@Override
public void enter(ViewChangeEvent event) {
   refresh():
}

每次您进入该 View 时,内部导航器都会调用上述方法。

关于java - 如何刷新 CDIView 以反射(reflect)在另一个 CDIView 中所做的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47755248/

相关文章:

java - 如何禁用左右箭头键在 SWT 列表中导航?

java - 验证 vaadin 组合框自定义输入(仅限整数)

按钮对齐在 Vaadin v.23 中不起作用

java - OpenStreetMap 标签 - 配置

java - 向上或向下滚动时,recyclerview 无法正常工作

java - 如何在 Java 流处理中存储中间状态

java - java中多种格式的日期绑定(bind)器

java - 状态模式 : States as Hibernate singleton entities

c# - 在 ASP.NET 应用程序中创建具有复杂规则的向导式导航系统的有效且可维护的方法是什么?

android - 在 React Native 中制作 slider 导航的最佳方法