2011-10-14 40 views
2

在我的GWT應用程序中,我有一個GWT SuggestBox,我用它來進行全文搜索。問題是當您在顯示SuggestionDisplay時滾動頁面時,滾動時結果會向下移動頁面。使SuggestionDisplay div進入正確的位置

當我使用Firebug檢查頁面時,發現文本框的<div>元素位於正確的位置,但建議顯示的<div>位於關閉</body>標記的正上方。將帶有Firebug的<div>放入「包裝器」<div>會使搜索結果變得粘稠(它停留在頁面頂部)。

我該如何讓建議顯示進入正確的位置? SuggestionDisplay對象沒有任何公共方法,我可以用它來以任何方式操縱它。 SuggestBox構建它自己SuggestionDisplay,你也可以提供它,但即使如此,我怎樣才能使<div>進入正確的位置?

回答

0

那麼你有答案就在那裏。您需要自定義SuggestionDisplayDefaultSuggestionDisplay使用PopupPanel,默認情況下,它位於<body>標記內。你的應該把你的SuggestBox的容器裏的建議放在div裏面。

+0

要做到這一點,必須從頭開始實施您自己的'SuggestionDisplay',以及'SuggestionMenu''和''MenuItem''。由於大多數具有「受保護」訪問權限的方法,不可能通過聚合或繼承來擴展DefaultSuggestionDisplay。這比我認爲值得的更麻煩。 –

+0

要做到這一點,必須從頭開始實施您自己的'SuggestionDisplay'',以及'SuggestionMenu''和''MenuItem''。不可能通過聚合或繼承來擴展DefaultSuggestionDisplay,因爲一些基本的方法具有「受保護」的訪問權限。如果可能的話,可以重寫createPopup()方法(設置Popup的唯一方法)來創建自己的Popup。重寫比我認爲值得的更麻煩。 –