在 GWT Suggest Box 中添加一个“更多”按钮。

6
我有一个gwt suggest box用于RPC调用,从服务器获取数据并显示。在某些情况下,结果高达2000个。在chrome中,这可以正常工作,但在firefox中,javascript运行时会冻结窗口5秒钟,并有时弹出脚本没有响应的警告。
我想做的是显示20个结果,并有一个更多按钮,可以添加下一个20个结果,而不必每次单击都回调服务器。我对此还比较新,尝试扩展suggestBox并覆盖showSuggestions(),但它是受保护的,所以我无法这样做。
如果有什么建议/想法,请告诉我。
谢谢, Rob

你可以看一下 http://code.google.com/p/advanced-suggest-select-box/,那里有你需要的一切。 - user856068
3个回答

4

谢谢Igor,最终我实现了一个自定义的SuggestBox.SuggestionDisplay,并将其传递到Suggestion构造函数中。非常好用。这意味着我可以限制循环的次数,因此Firefox不再尝试死亡! :) - Rob
2
没问题 :) 如果你有一些关于 SuggestBox.SuggestionDisplay 的有趣的示例代码要分享,那就更好了 - 你可以在一个新答案中包含它,或者加到我的答案里。 - Igor Klimer

0

首先想到的解决方案是编写自己的小部件,该小部件扩展自SuggestBox,第二个解决方案可能是更改建议框的默认CSS参数

.gwt-SuggestBox {
}
.gwt-SuggestBoxPopup {
}
.gwt-SuggestBoxPopup .item {
}
.gwt-SuggestBoxPopup .item-selected {
}
.gwt-SuggestBoxPopup .suggestPopupContent {
}

0
如果您想更改SuggestBox的源代码,请参见this,您应该在src根目录中创建com.google.gwt.user.client.ui包,并将SuggestBox.java复制到其中。当您使用SuggestBox时,它会调用您的SuggestBox,该SuggestBox位于您的src中。
同时,也可以查看this,这也可能会有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接