我有这个自动完成功能非常好,除非它没有在支持bean中设置value参数
value="#{marketLoader.invSelectedItem}"
但它只会显示搜索中的正确项目。但是单击项目不会设置对象(不是字符串)。在支持bean中。在这种情况下,marketLoader.completeItemtext将返回List。是否有理由不调用setInvSelectedItem()方法?我需要一个转换器吗?
<p:autoComplete id="drop" dropdown="true" value="#{marketLoader.invSelectedItem}"
completeMethod="#{marketLoader.completeItemtext}"
var="item" itemLabel="#{item.typeName}"/>
完整的方法
private invTypes invSelectedItem;
public List<invTypes> completeItemtext(String query) {
if (query.length() < 3) {
return null;
}
List<invTypes> tmpList = listDBItem.stream().filter(p -> p.getTypeName().contains(query))
.collect(Collectors.toList());
return tmpList;
}