È necessario creare il proprio widget SuggestBox personalizzato, dopo di che è possibile impostare attributo segnaposto su di esso. Ad esempio:
public class CustomSuggestBox extends SuggestBox {
private String placeHolderText = "";
public String getPlaceHolderText() {
return placeHolderText;
}
public void setPlaceHolderText(String text) {
placeHolderText = text;
getTextBox().getElement().setAttribute("placeHolder", placeHolderText);
}
}
Quindi, è possibile impostare questa proprietà nel raccoglitore UI.
<widgets:CustomSuggestBox ui:field="cSuggestBox" placeHolderText="someText" />
PS: Funziona solo nel browser moderno. Per implementare correttamente per browser meno recenti e il check out di terze parti lib wogwt, ha TextBoxWithPlaceholder classe che estende TextBox:
/**
* A text box that displays a placeholder string when empty
*
* <h3>CSS Style Rules</h3>
* <ul class='css'>
* <li>.wogwt-TextBoxWithPlaceholder { primary style }</li>
* <li>.wogwt-TextBoxWithPlaceholder-placeholder { dependent style set when
* the placeholder is displayed }</li>
* </ul>
*/
In questo caso si può inviare questo TextBoxWithPlaceholder
's esempio per SuggestBox(SuggestOracle oracle, TextBoxBase box)
costruttore.
fonte
2012-02-16 15:48:37
È possibile definire qualsiasi proprietà aggiuntive adattamento [questa soluzione] (http://stackoverflow.com/questions/10450987/how-to-add-a-placeholder-to-a-gwt-text-input-field/38316205#38316205). –