我已经构建了一个带有 SmartGWT TabSet 的 GUI,它带有可以动态添加和删除的选项卡。选项卡共享相同的画布,在每个选项卡选择时从选项卡移动到选项卡,如下所示:
myTabSet.addTabSelectedHandler(new TabSelectedHandler() {
public void onTabSelected(TabSelectedEvent event) {
[...]
myTabs[myTabSet.getSelectedTabNumber()].setPane(myCanvas);
// Then I fill the contained widgets with the tab-specific data
}
}
这有效,但是当我尝试删除标签时
myTabSet.removeTab(iToBeDeletedTab);
该选项卡已删除,但其余选项卡有一个空白窗格,我只能通过重新加载页面来取回内容。我发现我必须通过调用来防止窗格破坏:
myTabSet.setDestroyPanes(false);
和
myTabSet.updateTab(iToBeDeletedTab, null);
//called right before
myTabSet.removeTab(iToBeDeletedTab);
我知道画布/窗格仍然被破坏,但我不知道如何防止这种情况。有没有人有任何提示?谢谢!