2010-03-13 231 views
2

我正在爲我正在處理的應用程序搜索組件,我需要爲其添加一些過濾器。我找到了一個例子,並得到第一個過濾器工作正常。過濾器功能問題

現在我想補充我遇到問題的第二過濾器...在這個例子中,我發現他們使用filterFunctions,但我只得到了一個的filterFunction選擇,這是爲什麼?

這裏的示例代碼

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

這就是我想要

acData.filterFunction = [filterByStatus, filterByDate] 

但與此代碼我收到以下錯誤消息 - 1067年:類型的值隱式強制數組到一個不相關的類型函數。

爲什麼我得到這個錯誤,我該如何去添加多個過濾器到我的數組集合?

謝謝!

+0

你可以給我們一個鏈接到你的工作形式的例子嗎? – 2010-03-13 20:16:44

回答

3

filterFunction必須設置爲單個函數,而不是Array或任何其他數據類型。要結合多種功能創建一個組合它們,就像這樣:

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

如果您看到了使用filterFunctions多接受了一個陣列的樣品,張貼鏈接。這不是標準Flex框架或新4.0 beta測試版中的任何地方。

+0

感謝輸入山姆,但我似乎仍然有問題 – Adam 2010-03-14 19:31:43

+0

N/M,我不知道我在想什麼。我明白了,感謝您的幫助! – Adam 2010-03-14 19:47:20

+0

非常感謝你Samuel Neff ..... – anglimasS 2011-08-29 13:10:16