题
我正在为某个应用我正在搜索组件,我需要一些过滤器添加到它。我已经发现一个例子,得到了第一过滤器正常工作。
现在我想加我遇到问题的第二过滤器...在这个例子中,我发现他们使用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/
不隶属于 StackOverflow