簡體   English   中英

如何在選擇更改時更新vaadin選項卡中的內容?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM