我还在flex community上发布了这个问题。
问题是当 List dataProvider 具有 ISort 属性时,在更改已删除的 item 属性并刷新 ArrayCollection 后,即使设置 list.selectedIndex = -1,List 仍然选择了一项。
在删除“43”项目之前:
删除“43”项后,自动选择第一项(我想要的是列表没有选定项和插入项):
我还在flex community上发布了这个问题。
问题是当 List dataProvider 具有 ISort 属性时,在更改已删除的 item 属性并刷新 ArrayCollection 后,即使设置 list.selectedIndex = -1,List 仍然选择了一项。
在删除“43”项目之前:
删除“43”项后,自动选择第一项(我想要的是列表没有选定项和插入项):
我找到了解决方法。删除项目然后更改属性。
修改函数如下:
private function removeLast():void {
var lastItem:Object = _dataProvider.getItemAt(_dataProvider.length -1);
//remove the item
_dataProvider.removeItemAt(_dataProvider.getItemIndex(lastItem));
// then change property
lastItem.digit = -100;
// Note: MUST refresh
_dataProvider.refresh();
// do other stuff
list.selectedIndices = new Vector.<int>();
list.selectedIndex = -1;
}