2

在我的检票口页面上,我有一个树和一个动态元素,主要是通过 javascript 创建的,需要一些时间来绘制。

我的问题是,每当我展开树节点时,Wicket 都会重新绘制整个页面,因此会重新加载 javascript 并重新绘制所有内容。由于扩展树节点对 javascript 没有影响,因此无需重新绘制动态内容,用户仍然需要等待几秒钟才能再次呈现所有内容。

有什么办法可以阻止检票口重新加载所有内容并仅交换新内容?我怎样才能在一棵树中实现它?

我找到了以下链接:http ://wicketinaction.com/2008/10/repainting-only-newly-created-repeater-items-via-ajax/ ://wicketinaction.com/2008/10/repainting-only-newly-created-repeater-items-via-ajax/但我不确定是否以及如何将其应用于树木。

更新: 当我处理另一个我之前没有意识到的 ajax 问题时,问题自行解决了。因此,我想这是一个副作用,现在已经消失了。还是谢谢。

4

1 回答 1

2

一个节点的联结组件调用 AbstractTree#expand(T),它调用 #updateBranch(T, AjaxRequestTarget):对于 NestedTree,这将导致仅重绘分支,对于 TableTree,这将重绘整个表。

这不应导致整个页面的刷新。

在 AjaxRequestHandler#add(Component,String) 和 Component#setResponsePage(Class) 中放置断点,看看谁在更新整个页面。

于 2013-11-06T08:14:15.450 回答