Hy Suresh,
這裏是快速修復!
在我的示例中,您需要使用第二個SelectItem
來保存目的,並且使用FocusHandler
。
我的例子:
LinkedHashMap<String, String> valueMap = new LinkedHashMap<>();
valueMap.put("a", "a");
valueMap.put("b", "b");
valueMap.put("c", "c");
valueMap.put("d", "d");
valueMap.put("e", "e");
valueMap.put("f", "f");
final SelectItem saveSelectedItem = new SelectItem();
saveSelectedItem.setMultiple(true);
saveSelectedItem.setValueMap(valueMap);
final SelectItem selectedItem = new SelectItem();
selectedItem.setDefaultValue("Default");
selectedItem.setMultiple(true);
selectedItem.setTitle("Select: ");
selectedItem.setValueMap(valueMap);
selectedItem.addFocusHandler(new FocusHandler() {
@Override
public void onFocus(FocusEvent event) {
if(selectedItem.getValue() == null){
selectedItem.setValue(saveSelectedItem.getValue());
}else {
saveSelectedItem.setValue(selectedItem.getValue());
}
}
});
那麼用戶將能夠UN /選擇所有值,但值將被設置爲持續在了SelectItem字段中選擇值。
希望INT幫助。
Regards Jakov A.