[英]How to update content in a vaadin tab on selection change?
我有一個Vaadin選項卡菜單,每個選項卡當然都包含不同的內容。 現在,如果內容是具有動態生成內容的自有類,那么如果選擇了選項卡,如何強制內容進行更新?
我的內容類implements View
,因此它作為enter(ViewChangeEvent event)
,如果我使用Navigator
更改視圖,通常會觸發該enter(ViewChangeEvent event)
。 但是,然后我使用選項卡更改了內容,沒有觸發ViewChangeEvent
。 但是,如何觸發選項卡特定視圖內容的enter()
方法?
@VaadinComponent
@UIScope
public class MyView extends CssLayout implements View {
private Label label;
public MyView() {
label = new Label("empty");
}
@Override
public void enter(ViewChangeEvent event) {
label.setValue("entered");
}
}
@VaadinComponent
@UIScope
public class MyMenu extends CssLayout {
private TabSheet tabs;
public MyMenu() {
tabs = new TabSheet();
addComponent(tabs);
}
@Autowired
private MyView myview;
@PostConstruct
public void init() {
tabs.addComponent(myview);
//some more tabs
}
}
您可以像這樣使用Shortcut Listener
component.addShortcutListener(new ShortcutListener("caption", KeyCode.ENTER, null) {
private static final long serialVersionUID = 1L;
@Override
public void handleAction(Object sender, Object target) {
label.setValue("entered");
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.