1

我想使用具有 Units 类型项目列表的filter属性,<p:selectOneMenu>它是一个Enum类,如下所示:

public enum Units {

      PERCENT, MILLIMETER, METER, NUMBER
}

当我使用filterwith 时<p:selectOneMenu>,不会过滤任何内容。我认为这是因为列表中有 Units 类型的项目,我正在比较过滤器中的字符串。在我可以在过滤器中匹配它们之前,我应该使用转换器将 Unit 项目转换为 String 吗?如果是这样,我的转换器应该如何?

4

2 回答 2

2

我可以重现你的问题。仅当项目列表超过可见项目的默认数量时,过滤器才起作用。这实际上是负责创建菜单和初始化过滤器的 JavaScript 中的一个错误。您最好的选择是将其作为错误报告给 PrimeFaces 人员。

于 2013-01-14T11:07:27.860 回答
0

好的,这就是我让它工作的方式。在<p:selectOneMenu>我添加了一个属性height="200"。根据代码片段SelectOneMenu with filter not working with less than 10 elements,过滤器仅在设置高度时才有效。

于 2013-01-15T04:52:19.087 回答