我在我的应用中使用GWT SuggestBox作为自动选择字段。我正在使用GWT 2.5.1。我注意到它不会从弹出显示中自动选择第一个匹配,除非我们按回车键。对于例如让我们说该列表包含4个项目: 1.阿拉巴马州 阿拉斯加 亚利桑那州 阿肯色州
如果我输入A,那么第一个选择即Alabama应该出现在文本框中,“labama”选择为蓝色。它应该与GXT Combobox类似。
http://www.sencha.com/examples/#ExamplePlace:combobox
不幸的是,SuggestBox和SuggestionDisplay的所有方法都是私有的,所以做不了多少。有人做过这种事吗?
任何帮助将不胜感激。
感谢。
答案 0 :(得分:0)
我实施了类似的方案。
您可以使用SuggestBox并公开一个将输入作为MultiWordSuggestOracle列表的方法。
在初始化时,只需将所有建议列表作为输入参数,然后如果键入任何字母,它将相应地给出建议。
以下是代码:
import com.google.gwt.user.client.ui.MultiWordSuggestOracle;
import com.google.gwt.user.client.ui.SuggestBox;
public class MySuggestBox extends SuggestBox {
public MySuggestBox() {
super();
super.setLimit(Constants.SUGGESTBOX_LIMIT);
super.setValue(Constants.SUGGESTBOX_VALUE);
super.setVisible(Constants.SUGGESTBOX_VISIBLE);
super.setAutoSelectEnabled(Constants.SUGGESTBOX_AUTOSELECTENABLE);
}
public MySuggestBox(MultiWordSuggestOracle list) {
super(list);
}
public MySuggestBox(String text) {
this();
super.setText(text);
super.setTitle(text);
}
public MySuggestBox(String text,String title) {
this(text);
super.setTitle(title);
}
}