配列にフィルターをかける
配列にフィルターをかけて、一定の値の範囲内のみをタイルリストにて表示します。
http://moeten.info/flex/20080708_rakutenShop2/bin-release/main.html
以前作成したFlexで楽天検索に値段機能をつけてみました。
ポイントとなる部分
var dp:ArrayCollection; dp.filterFunction = sortRanges;
これで配列 dp に対して sortRanges をフィルターすることができます。
sortRanges はこんな感じ
private function sortRanges( item:Object ):Boolean{ var maxPrice:int = int(hs.value); return item.price <= hs.value; }
#スライドバーの値より低ければ true
あと、ちょっとお遊びとして、左のテーブルリストのアイテムをドラッグして、買い物かごに入れるとちょっとしたエフェクトが出るようにしてみました。
<mx:Sequence id="myItemsChange"> <mx:Move duration="750" easingFunction="{Back.easeInOut}" perElementOffset="20"/> </mx:Sequence>
また、余談ですが、エフェクトにも実行したいイベントを指定することができます。
filter="addItem"
こうするとaddItemのときのみにエフェクトが実行されるようになります。