代码之家  ›  专栏  ›  技术社区  ›  Volksman

Wicket AjaxTabbedPanel带有选项卡内容面板,延迟加载直到激活选项卡

  •  0
  • Volksman  · 技术社区  · 3 年前

    我有一个带有AjaxTabbedPanel的页面,其中有许多选项卡,其中包含图表、报告等内容,这些内容的制作成本非常高。大多数用户将大部分时间花在第一个面板上,不需要冒险进入带有图表、报告等的选项卡。,

    为了避免在后端进行不必要的工作,并提供更快的初始页面呈现,我认为在用户单击某个选项卡激活并呈现该选项卡的内容之前(并且只有在该情况下),避免填充选项卡的内容是有利的。

    当然,第一个选项卡将始终在初始页面加载期间加载,因为默认情况下,第一个选项卡处于活动状态,但其他选项卡的内容将处于休眠状态,直到用户单击相应的选项卡,在必要时才对这些休眠面板执行任何操作。

    这可能吗?

    我认为我可能会使用AjaxLazyLoadedPanel,但它似乎是为不同的目的而设计的,延迟加载的面板会定期进行轮询,直到它“准备就绪”,但这不是我的情况所需要的:不需要轮询,我们将知道何时呈现面板的内容,即何时激活面板。

    0 回复  |  直到 3 年前
        1
  •  2
  •   svenmeier    3 年前

    TabbedPanel不需要选项卡的内容,只要不显示at。

    确保实现ITab#getPanel()“lazy”,即仅当第一次调用该方法时才创建面板。有关灵感,请参见PanelCachingTab。