3

我正在尝试为 primefaces 的选择列表创建一个自定义过滤器。当我按照手册中的说明进行操作时,我在 primefaces 的某处得到了一个 TypeError。

我对选择列表的定义

  <p:pickList id="theId"
    value="#{...}" var="variable"
    itemLabel="#{variable.something} #{variable.somethingelse}" itemValue="#{variable}"
    converter="#{genericConverter}"
    showSourceFilter="true" showTargetFilter="true"
    filterMatchMode="custom" filterFunction="myFunction"></p:pickList>

我的过滤功能

 <script type="text/javascript">
                    function myFunction(itemLabel, filterValue){
                            return  itemLabel.indexOf(filterValue) != -1;
                    }
        </script>

当我在搜索字段中输入内容时,我在控制台中收到此错误

Uncaught TypeError: Property 'filterMatcher' of object #<d> is not a function 

似乎属性 filterFunction 作为字符串传递给 primefaces javascript 代码,因此不能用作函数。

任何帮助都会很棒,
谢谢 Wim

4

1 回答 1

2

这是primefaces中的一个错误。我已经为它创建了一个问题并包括一个解决方法。 https://code.google.com/p/primefaces/issues/detail?id=6233

亲切的问候

于 2013-10-14T08:35:39.480 回答