0

如何以编程方式清除 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);
        }
    }

但选择仍然可见。

4

1 回答 1

1

您应该将一个空集合设置为模型。

就像是:choice.setModel(new ArrayList<MyType>())

于 2015-03-27T10:29:02.817 回答