我有一个gwt建议框,它执行RPC调用以从服务器获取一些数据并显示它。在某些情况下,最多有2000个结果。虽然当在Firefox中运行javascript时,这在chrome中运行良好,但它会冻结窗口5秒钟,并且有时会导致脚本没有响应警告。
我想要做的就是显示20个结果,并且有一个更多的按钮,只需追加下一个20,而不必在每次点击时回叫服务器。我对此很新,我尝试扩展suggestBox并覆盖showSuggestions()但它受到保护,所以我不能。
任何建议/想法都会很棒。
干杯, 罗布
答案 0 :(得分:4)
请参阅this question以获取有关如何扩展GWT SuggestBox
的指示 - 基本上,您希望提供自己的SuggestOracle
(用于获取建议),也许是您的文本框(请参阅我前面提到的问题中的链接),很可能是自定义SuggestBox.SuggestionDisplay
。这三个通过构造函数传递给SuggestBox
。有关一些想法,请参阅现有的默认实施(MultiWordSuggestOracle
,SuggestBox.DefaultSuggestionDisplay
):)
答案 1 :(得分:0)
如果您想更改SuggestBox的源代码,请参阅this 你应该在你的src根目录中创建com.google.gwt.user.client.ui包,然后复制到SuggestBox.java。当你使用SuggestBox时,它会调用你的src中的SuggestBox 检查this也是有用的
答案 2 :(得分:0)
首先想到的解决方案就是编写自己的小部件,从SuggestBox
扩展,第二个解决方案可能会改变suggestbox的默认css参数
.gwt-SuggestBox {
}
.gwt-SuggestBoxPopup {
}
.gwt-SuggestBoxPopup .item {
}
.gwt-SuggestBoxPopup .item-selected {
}
.gwt-SuggestBoxPopup .suggestPopupContent {
}