嗨在我的项目中,我输入了如下文字框,其中" keyup" event我正在调用托管bean,我在arraylist中执行搜索操作。
我在p:dataTable中显示的arraylist,名为userDataTable
我的xhtml代码
<p:inputText id="searchText" binding="#{searchText}"
value="#{userData.searchReq}" autocomplete="off">
<p:ajax listener="#{userManagement.userTable.searchListener}"
event="keyup" update="userDataTable/>
</p:inputText>
这基本上允许用户在输入inputText时对表执行过滤。但问题是用户可以非常快速地打字。我想停止下一个ajax调用,直到当前的ajax调用完成。我怎么能做到这一点?
答案 0 :(得分:0)
由于您已经在使用Primefaces,因此您可以使用AutoComplete组件执行您正在尝试执行的操作。第一个示例显示了使用arraylists的基本自动完成功能....您可以参考。
自动填充还具有延迟点击服务器以补偿快速输入的功能 - queryDelay
属性。有关完整的详细信息,请参阅User Guide。