首页 > 解决方案 > 同一页面中的多个 AjaxLazyLoadPanel Wicket 8

问题描述

是否可以使用 AjaxLazyLoadPanel 在 Wicket 8 中延迟加载 RepeatingView 的每个项目?回到 wicket 7,使用 AjaxLazyLoadPanel,RepeatingView 中的每个项目都是独立加载的。

AjaxLazyLoadPanel 行为在检票口 8 中发生了变化“当您在同一页面上有多个 AjaxLazyLoadPanel 时,只使用一个计时器,并且所有面板都搭载在这个计时器上。”

通过此更改,所有项目都需要在渲染之前加载。有没有办法在检票口 8 中解决这个问题?

标签: javawicketwicket-7wicket-8

解决方案


您的 AjaxLazyLoadPanels 应该覆盖isContentReady

protected boolean isContentReady()
{
    return ...; // check whether result can be rendered
}

这样页面不会被阻塞,而数据可以异步加载。

请参阅示例https://github.com/apache/wicket/blob/master/wicket-examples/src/main/java/org/apache/wicket/examples/ajax/builtin/LazyLoadingPage.java


推荐阅读