我需要一个autosuggest组合框用于一个模糊的字符串列表。但是everey string有一个独特的id。需要此ID才能知道用户选择了什么(将ID发送回服务器并对其执行操作)。
如何使用gwt的auto-suggest-comboBox“suggestionBox”实现这一点。有没有办法将一个id->名称对列表(如listBox.addItem(String name,String value))添加到suggestionBox中? 可能通过覆盖suggestionOracle? (如何获取所选名称的选定ID?)
或者这个用例是否更好地由另一个gwt小部件实现?
事先提前答案 0 :(得分:3)
是的,你想继承SuggestionOracle。您还希望将Suggestion子类化为可以保存所需ID的内容。
public class StringWithIdSuggestion implements Suggestion {
Long id;
String string;
@Override public String getDisplayString(){
return string;
}
@Override public String getReplacementString() {
return string;
}
public Long getId() {
return id;
}
}
然后您的建议oracle将提供StringWithIdSuggestion实例,您可以转换为getId();