使用下拉菜单填充 primefaces 自动完成
populate primefaces autocomplete with dropdown
在 JSF 中使用 primeface
<p:autoComplete minQueryLength="5" value="#{itemManagementMB.itemManagementLazy.code}" forceSelection="true" autocomplete="false"
completeMethod="#{itemManagementMB.autoCompleteUsindCode}" dropdown="true">
<p:ajax event="itemSelect" listener="#{itemManagementMB.handleSelect}" />
</p:autoComplete>
当我输入 5 个关键字 时,效果很好。但我想以这种方式实现,如果用户输入 4 个词 并按下下拉菜单,它会根据 4 个关键字填充自动完成。
有一件事阻碍了我,当我点击下拉菜单时,autoCompleteUsindCode(String query)
方法接受空字符串并且 itemManagementMB.itemManagementLazy.code
也为空。
任何更新? /解决方案?
根据 Primefaces 5.1 用户指南第 29 页,我引用:
Dropdown Mode
When dropdown mode is enabled, a dropdown button is displayed next to
the input field, clicking this button will do a search with an empty
query, a regular completeMethod implementation should load all
available items as a response.
想了很多,就这样解决了
解法:
<p:autoComplete id="anum" minQueryLength="5" value="#{transferInMB.itemManagementLazy.code}" forceSelection="true"
completeMethod="#{transferInMB.autoCompleteUsingCode}" dropdown="true">
<p:ajax event="itemSelect" listener="#{transferInMB.handleSelect}" />
<p:ajax event="keyup" />
</p:autoComplete>
我只是添加以下内容
<p:ajax event="keyup" />
在 JSF 中使用 primeface
<p:autoComplete minQueryLength="5" value="#{itemManagementMB.itemManagementLazy.code}" forceSelection="true" autocomplete="false"
completeMethod="#{itemManagementMB.autoCompleteUsindCode}" dropdown="true">
<p:ajax event="itemSelect" listener="#{itemManagementMB.handleSelect}" />
</p:autoComplete>
当我输入 5 个关键字 时,效果很好。但我想以这种方式实现,如果用户输入 4 个词 并按下下拉菜单,它会根据 4 个关键字填充自动完成。
有一件事阻碍了我,当我点击下拉菜单时,autoCompleteUsindCode(String query)
方法接受空字符串并且 itemManagementMB.itemManagementLazy.code
也为空。
任何更新? /解决方案?
根据 Primefaces 5.1 用户指南第 29 页,我引用:
Dropdown Mode
When dropdown mode is enabled, a dropdown button is displayed next to the input field, clicking this button will do a search with an empty query, a regular completeMethod implementation should load all available items as a response.
想了很多,就这样解决了
解法:
<p:autoComplete id="anum" minQueryLength="5" value="#{transferInMB.itemManagementLazy.code}" forceSelection="true"
completeMethod="#{transferInMB.autoCompleteUsingCode}" dropdown="true">
<p:ajax event="itemSelect" listener="#{transferInMB.handleSelect}" />
<p:ajax event="keyup" />
</p:autoComplete>
我只是添加以下内容
<p:ajax event="keyup" />