发现一个 Flex SDK 的 bug
当 List 的 dataProvider 内没有 指定数据时,又指定 selectedIndices 为空队列 ,
以后 selectedIndices 永远为空队列 。
当 List 的 dataProvider 内没有 指定数据时,又指定 selectedItems 为空队列 ,
以后 selectedItems 永远为空队列 。
private function selectedAllPhase(e:Event):void
{
if (e.target.selected)
{
phaseList.selectedItems = (phaseList.dataProvider as ArrayCollection).toArray();
}
else
{
// 如果一开始 phaseList 没有指定 dataprovider ,又执行以下语句
phaseList.selectedItems = new Array();
}
}
// 此时 phaseList.selectedItems 为空
initLocator.selectedPhase = new ArrayCollection(phaseList.selectedItems);
解决方法:
1. selectedIndices 无数据后,可使用 selectedItems ,反之亦然。
2. 指定 selectedIndices 为空队列的时候,先判断 dataprovider 是否为空 。