我有一个带有下拉菜单和一个重置按钮的 primefaces 自动完成功能。
如果我按下重置按钮,从下拉列表中选择一个值后,自动完成下拉列表变为空白(即它正在重置)。但问题是重置自动完成后,我无法获取自动完成下拉列表中的值。
这是我的代码
索引.xhtml
<p:autocomplete id="name" binding="#{myBean.name}" value="#{myBean.personName}" completeMethod="#{myBean.retrieveNames}" dropdown="true"/>
<p:commandButton value="Reset" action="#{myBean.reset}" immediate="true" update="@form">
MyBean.java
private String personName;
private UIInput name;
public void resetUIValue(UIInput uiObj) {
uiObj.setSubmittedValue(null);
uiObj.setLocalValueSet(false);
uiObj.setValid(true);
uiObj.setValue("");
}
public void reset() {
this.clearFormValues();
this.resetUIValue(this.name);
}
public void clearFormValues()
{
this.name="";
}
public List<String> retrieveNames(String query)
{
List<String> result=new ArrayList<String>();
for(int i=0;i<10;i++)
{
result.add(query+i);
}
return result;
}