我们设置了一个refreshingView<shirt>
(包含在边框内),在刷新视图之外我们有一个ajaxLink,它将一个新的衬衫对象添加到支持refreshView的列表中。 refreshView包含textFields和dropdown,供用户输入有关衬衫的信息。
在ajaxLink中,我们在列表中添加一个衬衫,然后将整个边框添加到ajaxLink的目标,从而刷新边框。添加行并填写信息(衬衫颜色,大小,样式等)并添加另一件衬衫时会出现问题。添加了另一排新衬衫,但同时输入的关于第一件衬衫的所有信息都丢失了。
有关如何保留以前输入的衬衫信息的任何想法?
答案 0 :(得分:5)
以前的数据会丢失,因为refreshView会在每次渲染后丢弃所有项目(以及包含数据的模型)。
您可以设置ItemReuseStrategy:
refreshingView.setItemReuseStrategy(new ReuseIfModelsEqualStrategy());
另一种更复杂的方法是仅重绘新添加的行。请在此处查看答案:Can I add an element to a RepeatingView without refreshing the latter?