リスト コンポーネントで複数の選択を許可するにはどうすればよいですか?ただし、許可される選択の最大数は事前定義された数に基づいていますか?
私がこれまでに得たのは...最初に選択の最大数を定義します:
プライベート var numberOfYearsCanSelect:int = 3;
List コンポーネントで allowMultipleSelection = true を設定しました。
リスト コンポーネントの変更時に、ユーザーが選択できる範囲を超えて選択したかどうかを確認するロジックを追加し、選択した場合は、選択できる最大数に等しい selectedItems の長さを設定しました。
if (event.currentTarget.selectedIndices.length > numberOfYearsCanSelect)
{
var arr:Vector.<Object>=event.currentTarget.selectedItems;
arr.length=numberOfYearsCanSelect;
event.currentTarget.selectedItems=arr;
}
これに関する問題は、何らかの理由で、selectedItems を設定したときにリストが更新されないことです。これにより、必要な数を選択できます。
私がやりたいことは、ユーザーが許可されている以上のものを選択すると、その数だけが選択され、残りは選択されないということです。
ビューを機能させるには、ビューである種のリストの更新を行う必要があるかもしれません。または、リストクラスを拡張していくつかのメソッドをオーバーライドしてカスタムリストを作成する必要がありますか?
ありがとう