0

我正在将 Wicket 与 Wicket Kendo UI 库一起使用。

我有一个向导,其中一个步骤包含剑道网格。当我到达这一步时,表格显示正常,但是当我进入下一步然后返回时,有时会出现问题:表格数据未显示在表格中,我看到的是空表格和启动屏幕滚动无限期地。

检查网络我发现显示表格步骤时有两个请求:一个包含带有表格标记和js的xml,另一个包含包含表格行的json数据。两个请求都成功完成,但不知何故,该表无法从第二个请求中获取其行的数据。

这个问题并不是每次都会出现,有时表格会正确地提取它的数据。

试图隔离问题我发现了以下内容: Wicket 向导在步骤之间切换时使用方法 MarkupContainer.replace(Component child),因此可以在没有向导的情况下重现问题。您需要做的就是用其他东西替换页面上的表格,然后再次将其交换回来。

有没有人知道为什么桌子可能会以如此奇怪的方式表现。是不是因为新的标记类型失去了与 js 代码的链接,无法找到将接收到的数据或其他东西放在哪里?

4

1 回答 1

1

好的,我发现问题出在哪里了。渲染下一步时,Wicket 向导会替换上一步的标记,对吗?这样做会导致从 jquery 缓存 ($.cache) 中删除相关的缓存数据。事实证明,剑道网格使用该数据,当恢复上一步并渲染网格时,它找不到该数据。因此,在我的情况下,解决方案是在进入下一步之前隐藏表格,这样,当网格被渲染时,它会重新填充其缓存数据并且一切正常。

于 2016-08-12T07:16:17.907 回答