我正在嘗試使用GWT創建列表框。我正在使用UiBinder創建該字段。將默認文本設置爲GWT列表框
我想在列表框中設置默認文本,當用戶單擊該框時,它應該顯示列表項。再一次,如果用戶沒有選擇任何選項,它應該再次向我顯示默認文本。
任何方式來使用Uibinder或一些ListBox方法來做到這一點?
我正在嘗試使用GWT創建列表框。我正在使用UiBinder創建該字段。將默認文本設置爲GWT列表框
我想在列表框中設置默認文本,當用戶單擊該框時,它應該顯示列表項。再一次,如果用戶沒有選擇任何選項,它應該再次向我顯示默認文本。
任何方式來使用Uibinder或一些ListBox方法來做到這一點?
如果我理解正確,您希望顯示一個值,但是當用戶單擊列表時,它會消失並顯示列表項? 據我所知,本地沒有選擇。
你可以做的是添加第一個項目來保存你的默認值。 您可以通過在代碼中使用的addItem或使用語法做到這一點:
<g:Listbox>
<g:item value="-1">Default text</g:item>
</g:Listbox>
作品與GWT 2.1+
值仍然可以選擇。 您可以選擇忽略,或添加屬性「已禁用」,值爲「禁用」的選項元素:
listbox.getElement().getFirstChildElement().setAttribute("disabled" ,"disabled")
希望它有助於一點:)
您還可以使用渲染器來控制如果選擇「空」,會顯示什麼內容。
(由啓發:How do I add items to GWT ListBox in Uibinder .ui.xml template ?)
private class SimpleRenderer implements Renderer<T>{
private String emptyValue = "Select a value";
@Override
public String render(T val) {
if(val == null) {
return emptyValue;
}
return val.toString();
}
@Override
public void render(T val, Appendable appendable) throws IOException {
appendable.append(render(val));
}
public void setEmptyValue(String emptyValue) {
this.emptyValue = emptyValue;
}
}