【发布时间】:2021-06-02 07:23:01
【问题描述】:
我有几个 Wicket 选项卡,我需要将 CSS 类 "text-primary" 添加到当前选定的选项卡
List<ITab> tabList = new ArrayList<>();
tabList.add(new AbstractTab(new Model<>("Tab 1")) {
@Override
public Panel getPanel(String panelId) {
return new TabPanel1(panelId);
}
});
tabList.add(new AbstractTab(new Model<>("Tab 2")) {
@Override
public Panel getPanel(String panelId) {
return new TabPanel2(panelId);
}
});
add(new AjaxTabbedPanel<>("tabs", tabList) {
@Override
protected WebMarkupContainer newLink(String linkId, int index) {
AjaxFallbackLink<Void> link = new AjaxFallbackLink<>(linkId) {
private static final long serialVersionUID = 1L;
@Override
public void onClick(Optional<AjaxRequestTarget> target) {
TabbedPanel<ITab> selectedTab = setSelectedTab(index);
ITab tab = tabList.get(index);
if (target.isPresent()) {
tab.getPanel(linkId);
target.get().add(selectedTab);
}
onAjaxUpdate(target);
}
};
link.add(AttributeAppender.append("class", "text-primary"));
return link;
}
});
这就是链接标记的样子
<a href="#" wicket:id="link"><span wicket:id="title">[[tab title]]</span></a>
此实现添加到两个选项卡 css 类,我需要以某种方式检查选项卡是否被选中
【问题讨论】: