tree.selectedItem如此诡异
if(alarmUserGroups.length>0){ var userGroup:Object = alarmUserGroups.getItemAt(0);//这里的userGroup不为空 alarmUserGroupTree.selectedItem = userGroup; //赋值后,alarmUserGroupTree.selectedItem竟然为null alarmUserGroupTree.dispatchEvent(new ListEvent(ListEvent.CHANGE));}
<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()" layout="absolute" paddingBottom="0" verticalAlign="top"><mx:Script> <![CDATA[ import mx.events.IndexChangedEvent; import mx.collections.ArrayCollection; private var i:int = 0; private var mail:Array = [{"label":"AA"},{"label":"BB"},{"label":"CC"}]; private var mess:Array = [{"label":"DD"},{"label":"EE"},{"label":"FF"}]; [Bindable] private var datas:ArrayCollection = new ArrayCollection(); private function initTree():void { datas.source = mail;; myTree.selectedIndex = 0; } private function tabChange(event:IndexChangedEvent):void { switch(myTab.selectedIndex) { case 0: { if(i==0) { this.datas.source = mail; this.datas.refresh(); myTree.selectedItem = this.datas.getItemAt(0); i = 1; } else { this.datas.source = mess; this.datas.refresh(); myTree.selectedItem = this.datas.getItemAt(0); i = 0; } } case 1: { } } } ]]> </mx:Script> <mx:Panel width="100%" height="100%"> <mx:TabNavigator id="myTab" change="tabChange(event)" width="100%" height="100%" creationPolicy="all"> <mx:Canvas width="100%" height="100%"> <mx:Tree id="myTree" labelField="label" width="100%" height="100%" dataProvider="{datas}" creationComplete="initTree()"/> </mx:Canvas> <mx:Canvas width="100%" height="100%"> </mx:Canvas> </mx:TabNavigator> </mx:Panel> </mx:WindowedApplication>