在列表组件中,如何允许多项选择,但允许的最大选择数基于预定义的数字?
到目前为止我得到的是......我首先定义了最大选择数:
私有变量 numberOfYearsCanSelect:int = 3;
我在列表组件中设置了 allowMultipleSelection = true。
在更改列表组件时,我添加了逻辑以查看用户选择的内容是否超过了他们允许选择的内容,如果是,我将 selectedItems 的长度设置为他们可以选择的最大数量:
if (event.currentTarget.selectedIndices.length > numberOfYearsCanSelect)
{
var arr:Vector.<Object>=event.currentTarget.selectedItems;
arr.length=numberOfYearsCanSelect;
event.currentTarget.selectedItems=arr;
}
问题在于,由于某种原因,当我设置 selectedItems 时列表没有更新。它允许您选择您想要的数量。
我想要发生的是,当用户选择的数量超过允许的数量时,我们只选择那个数字,其余的不选择。
也许我需要在视图上进行某种列表刷新以使其工作,或者我应该通过扩展列表类并覆盖某些方法来创建自定义列表?
谢谢