我正在为某个应用我正在搜索组件,我需要一些过滤器添加到它。我已经发现一个例子,得到了第一过滤器正常工作。

现在我想加我遇到问题的第二过滤器...在这个例子中,我发现他们使用filterFunctions,但我只得到了一个的filterFunction选择,这是为什么?

下面的示例代码

   productsCollection.filterFunctions =
[
 filterByPrice, filterByType,
 filterByCondition, filterByVendor
]

这就是我想要

acData.filterFunction = [filterByStatus, filterByDate]

但与此代码我得到以下错误消息 - 1067:类型数组的值的隐式强制到一个不相关的类型功能

为什么会出现这个错误,我将如何去多个过滤器大约添加到我的数组集合?

谢谢!

有帮助吗?

解决方案

filterFunction必须被设置为一个单一的功能,而不是Array或任何其他数据类型。组合多个函数创建一个将它们组合,如下所示:

acData.filterFunction = function(item:Object) 
    {
         return
             filterByPrice(item) &&
             filterByType(item) &&
             filterByCondition(item) &&
             filterByVendor(item);
    };

如果您看见所使用接受了一个阵列的多个filterFunctions的样品,张贴链接。这不是任何地方标准的Flex框架,或在新的4.0测试AFAIK。

其他提示

看起来你将不得不延长一个ArrayCollection,使其工作。这个环节应该拼出来给你:的http://博客。 rotundu.eu/flex/arraycollection-with-multiple-filter-functions/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top