默认情况下,BreadCrumbBar
使用BreadCrumbLink
s 来呈现其链接,这是通常Link
的 s(而不是AjaxLink
s)。
要获得 ajax 行为,您可以尝试创建自己的 link( BreadCrumbAjaxLink
) 实现,并使用's中存在的相同逻辑来AjaxLink
实现。onClick(AjaxRequestTarget)
BreadCrumbLink
onClick()
然后使用 yourBreadCrumbComponent
而不是.AjaxBreadCrumbComponent
BreadCrumbAjaxLink
BreadCrumbLink
然后覆盖BreadCrumbBar
的newBreadCrumbComponent()
方法:
protected Component newBreadCrumbComponent(final String id, final long index, final int total,
final IBreadCrumbParticipant breadCrumbParticipant)
{
boolean enableLink = getEnableLinkToCurrent() || (index < (total - 1));
return new AjaxBreadCrumbComponent(id, getSeparatorMarkup(), index, this,
breadCrumbParticipant, enableLink);
}
在BreadCrumbAjaxLink
中,您可以更新任何您想要的附加组件。(您可能也需要更新栏本身)。