【问题标题】:Why suggestion list not getting populated for suggestion box in gwt.?为什么没有为 gwt. 中的建议框填充建议列表?
【发布时间】:2016-03-16 05:07:30
【问题描述】:

我正在使用 GWT 中的建议框,但我遇到了一个问题,即建议框.showSuggestionList() 没有通过 focusHandler 显示任何结果。

我已经创建了一个建议oracle和suggestBox,如下所示

MultiWordSuggestOracle mySuggestionOracle=new MultiWordSuggestOracle();
SuggestBox mySuggestBox=new SuggestBox(mySuggestionOracle);

然后当我从某处获得建议列表值(即建议数组)后,我将这些值添加到建议 oracle 中,例如

for(String str : suggestionList){
    mySuggestionOracle.add(str);
}

以上代码是在视图中编写的,我将 FocusFandler 添加到 Presenter 中的这个SuggestBox中,

view.mySuggestBox().getValueBox().addFocusHandler(new FocusHandler() {
        @Override
        public void onFocus(FocusEvent event) {
            view.mySuggestBox().setText(" ");
            view.mySuggestBox().showSuggestionList();
        }
    });

可能是什么问题,如果我们单击建议框,为什么这个 showSuggestionList() 不显示任何建议?但是如果我们在建议框中输入一些文本,那么它会显示针对输入的正确建议。也就是说,如果我们输入 a 它会显示所有建议都以 a* 开头。

如果我在某个地方错了,如果有相同的情况或想法,有人可以帮忙吗?

【问题讨论】:

    标签: javascript java gwt suggestbox


    【解决方案1】:

    首先,要显示默认建议,您必须在 SuggestBox将空白字符串设置为文本,然后才能调用 showSuggestionList 方法(我想建议列表中没有字符串以空格开头)。

    public void onFocus(FocusEvent event) {   
      view.mySuggestBox().setText("");  
      view.mySuggestBox().showSuggestionList(); 
    }
    

    其次,要显示所有建议,您必须使用 MultiWordSuggestOracle 对象的 setDefaultSuggestionsFromText 方法设置它们。

    常量示例

    final static String[] SUGGESTIONS = {"alfred", "alicia", "bernard", "bruno", "bernadette"};
    final static List<String> suggestionList = new ArrayList<String>(Arrays.asList(SUGGESTIONS));
    

    你的初始化代码:

    for (String str : suggestionList) {
      mySuggestionOracle.add(str);
    }
    mySuggestionOracle.setDefaultSuggestionsFromText(suggestionList);
    
    
    mySuggestBox = new SuggestBox(mySuggestionOracle);
    mySuggestBox.setLimit(suggestionList.size());
    

    【讨论】:

    • 如果我创建我的自定义 oracle,它将通过我的 oracle 类中的异步调用从数据库中获取价值。?
    猜你喜欢
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多