我正在为我正在开发的一个应用程序开发一个搜索组件,我需要给它添加一些过滤器。我找到了一个例子,并且让第一个过滤器工作得很好。
现在我正在尝试添加第二个过滤器,我遇到了问题...在示例中,我发现他们使用了filterFunctions,但我只得到了filterFunction的选项,为什么会这样呢?
以下是示例代码
productsCollection.filterFunctions =
[
filterByPrice, filterByType,
filterByCondition, filterByVendor
]这就是我正在尝试的
acData.filterFunction = [filterByStatus, filterByDate]但是使用这段代码,我得到了以下错误消息- 1067:隐式强制将类型数组的值强制到一个不相关的类型函数。
为什么我会得到这个错误,我应该如何着手向我的Array Collection添加多个筛选器?
谢谢!
发布于 2010-03-14 04:17:55
必须将filterFunction设置为单个函数,而不是Array或任何其他数据类型。要组合多个函数,请创建一个组合它们的函数,如下所示:
acData.filterFunction = function(item:Object)
{
return
filterByPrice(item) &&
filterByType(item) &&
filterByCondition(item) &&
filterByVendor(item);
};如果你看到一个使用了接受数组的filterFunctions复数的示例,请发布一个链接。这在标准的Flex框架或新的4.0测试版afaik中都不存在。
发布于 2010-03-14 04:19:34
看起来你必须扩展一个数组集合才能使它工作。这个链接应该会为您详细说明:http://blog.rotundu.eu/flex/arraycollection-with-multiple-filter-functions/
https://stackoverflow.com/questions/2439860
复制相似问题