????? 用flex? 做项目的时候需要用到Tree打开所有节点的功能,API上只提供打开单个节点的,GOOGLE未果后,自己动手尝试写了个方法。
?
场景:进入页面的时候打开所有节点。数据格式为XML,其它类型没有验证。
?
代码如下:其中deviceTree为树组件的ID
?
private function expandTree():void { for each (var item:XML in deviceTree.dataProvider) { deviceTree.expandItem(item, true); expandTreeChildren(item); } } private function expandTreeChildren(item:XML):void { if (item.children().length() > 0) for each (var child:XML in item.children()) { deviceTree.expandItem(child, true); expandTreeChildren(child); } }
?
flex 代码
<mx:Tree x="27" y="10" width="225" labelField="@path" dataProvider="{deviceData}" id="deviceTree" creationComplete="expandTree()" itemRenderer="util.tree.MyTreeItemRenderer" height="445"> </mx:Tree>?