将行添加到refreshView而不重新绘制整个refreshView

jwo*_*rin 2 wicket

我们refreshingView<shirt>在刷新视图之外设置了一个(包含在边框内),我们有一个ajaxLink,它将一个新的衬衫对象添加到支持refreshView的列表中.refreshView包含textFields和dropdown,供用户输入有关衬衫的信息.

在ajaxLink中,我们在列表中添加一个衬衫,然后将整个边框添加到ajaxLink的目标,从而刷新边框.添加行并填写信息(衬衫颜色,大小,样式等)并添加另一件衬衫时会出现问题.添加了另一排新衬衫,但同时输入的关于第一件衬衫的所有信息都丢失了.

关于如何保留以前输入的衬衫信息的任何想法?

ber*_*ert 5

之前的数据会丢失,因为refreshView会在每次渲染后丢弃所有项目(以及包含数据的模型).

您可以设置ItemReuseStrategy:

refreshingView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy());
Run Code Online (Sandbox Code Playgroud)

另一种更复杂的方法是仅重绘新添加的行.请参阅此处的答案:我可以在不刷新后者的情况下向RepeatingView添加元素吗?