【问题标题】:Add a more button to gwt Suggest Box向 gwt 建议框添加更多按钮
【发布时间】:2011-07-21 21:43:29
【问题描述】:

我有一个 gwt 建议框,它执行 RPC 调用以从服务器获取一些数据并显示它。在某些情况下,最多有 2000 个结果。虽然当 javascript 在 Firefox 中运行时,这在 chrome 中运行良好,但它会将窗口冻结 5 秒,有时会显示脚本没有响应警告。

我想做的是显示 20 个结果,并有一个更多按钮,可以附加下一个 20 个,而不必在每次单击时回调服务器。我对此很陌生,我尝试过扩展建议框并覆盖 showSuggestions() 但它受到保护,所以我不能。

任何建议/想法都会很棒。

干杯, 抢

【问题讨论】:

标签: java gwt


【解决方案1】:

有关如何扩展 GWT 的 SuggestBox 的指针,请参阅 this question - 基本上,您想提供自己的 SuggestOracle(它用于获取建议),也许是您的文本框(请参阅问题 I 中的链接前面提到过),很可能是自定义的SuggestBox.SuggestionDisplay。这三个通过构造函数传递给SuggestBox。请参阅现有的默认实现(MultiWordSuggestOracleSuggestBox.DefaultSuggestionDisplay)了解一些想法:)

【讨论】:

  • 感谢 Igor,我最终实现了一个自定义 SuggestBox.SuggestionDisplay 并将其传递给 Suggestion Constructor。很有魅力。意味着我可以限制循环的数量,这样 Firefox 就不会再尝试死了! :)
  • 没问题 :) 如果您有一些有趣的示例代码可以在 SuggestBox.SuggestionDisplay 上分享,那就更好了 - 您可以将它包含在新答案、原始问题中,或者我什至可以添加它对我的回答。
【解决方案2】:

如果您想更改 SuggestBox 的源代码,请参阅this 您应该在您的 src 根目录中创建 com.google.gwt.user.client.ui 包并复制到 SuggestBox.java。当您使用 SuggestBox 时,它会调用您 src 中的 SuggestBox。
检查this 也很有用

【讨论】:

    【解决方案3】:

    想到的第一个解决方案是编写您自己的小部件,它从SuggestBox 扩展,第二个解决方案可能会更改建议框的默认 css 参数

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

    【讨论】:

      猜你喜欢
      • 2019-08-04
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 2018-12-06
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多