问题
当使用XML作为dataProvider绑定Tree时,使用delete语句删除XML节点,Tree没有删除相应节点。
解决
调用delete语句后,更新tree.selectedIndex。比较简单的方法是让它等于自身,即指向删除节点的上一节点。
function
(event:ResultEvent) :
void
...
{
var id:int = tree.selectedItem.@id;
delete courses.courseware.(@id==id)[0];
tree.selectedIndex = tree.selectedIndex; //否则界面不更新
if(tree.selectedItem.name() == "courseware") ...{ //此时selectedIndex是删除节点的上一节点
loadCourseware(tree.selectedItem.@id, false);
}
}
var id:int = tree.selectedItem.@id;
delete courses.courseware.(@id==id)[0];
tree.selectedIndex = tree.selectedIndex; //否则界面不更新
if(tree.selectedItem.name() == "courseware") ...{ //此时selectedIndex是删除节点的上一节点
loadCourseware(tree.selectedItem.@id, false);
}
}