PrimeFaces 12:如何让p:autoComplete获焦时展开建议列表
解决方案
要实现带下拉按钮的p:autoComplete聚焦时自动显示建议列表,同时避免循环触发问题,可以按以下步骤处理:
- 设置最小查询长度为0:确保输入框为空时也能触发搜索,添加
minQueryLength="0"属性。 - 在聚焦事件中添加判断逻辑:仅当建议面板未显示时,调用下拉搜索方法,避免循环触发。
完整代码示例:
<p:autoComplete widgetVar="myAutoComplete" dropdown="true" minQueryLength="0" onfocus="if (!PF('myAutoComplete').panel.is(':visible')) { PF('myAutoComplete').searchWithDropdown(); }" <!-- 其他属性 --> > </p:autoComplete>
原理说明
minQueryLength="0":允许输入框为空时执行搜索,确保聚焦时能加载所有建议项。- 聚焦事件中的判断
!PF('myAutoComplete').panel.is(':visible'):避免了下拉按钮触发的重复聚焦导致的循环问题——当下拉按钮的mouseup事件触发输入框聚焦时,建议面板已经处于显示状态,因此不会再次调用searchWithDropdown()。
内容的提问来源于stack exchange,提问作者Jasper de Vries
相关产品推荐
相关产品推荐

