如何以编程方式清除wicket 6.19中ListMultipleChoice组件的选择?
我有几个ListMultipleChoice组件用于过滤表。除了我重置过滤器的情况外,一切正常。 选项中的选择仍会突出显示。如何将它们重置为初始未选择状态?
清除选定的选择列表似乎不够。
以下是我尝试过的更多细节:
sapSystemNames = new ListMultipleChoice<String>("selectedSystemNames", new IModel<List<String>>() {
private static final long serialVersionUID = -1521113613671111638L;
@Override
public void detach() {
// nothing to do here
}
@Override
public List<String> getObject() {
return selectedSystemNames;
}
@Override
public void setObject(List<String> object) {
selectedSystemNames = object;
}
}, new LoadableDetachableModel<List<String>>() {
private static final long serialVersionUID = -2685944576502559429L;
@Override
protected List<String> load() {
return getUniqSystemNames();
}
});
:
并在重置:
if (selectedSystemNames != null) {
selectedSystemNames.clear();
if (target != null) {
target.add(sapSystemNames);
}
}
但选择仍然可见。
答案 0 :(得分:1)
您应该将空集合设置为模型。
类似于:choice.setModel(new ArrayList<MyType>())