Actionscript 3 Flex tree:当树节点没有子节点时,使插入符号不出现
如果树节点没有子节点,是否有任何方法防止在树节点之前显示“>”插入符号?我希望它在children为空ArrayCollection时不显示。我知道您可以将arraycollection设置为null,但我希望避免在整个代码中执行所有null检查。创建如下自定义渲染器:Actionscript 3 Flex tree:当树节点没有子节点时,使插入符号不出现,actionscript-3,apache-flex,flash-builder,flex4.6,Actionscript 3,Apache Flex,Flash Builder,Flex4.6,如果树节点没有子节点,是否有任何方法防止在树节点之前显示“>”插入符号?我希望它在children为空ArrayCollection时不显示。我知道您可以将arraycollection设置为null,但我希望避免在整个代码中执行所有null检查。创建如下自定义渲染器: package com.simmone.renderers { import mx.collections.*; import mx.controls.treeClasses.*; import mx.contro
package com.simmone.renderers {
import mx.collections.*;
import mx.controls.treeClasses.*;
import mx.controls.listClasses.ListBase;
public class MyTreeItemRenderer extends TreeItemRenderer {
public function MyTreeItemRenderer() {
super();
}
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
if( data.children.length == 0 ) {
super.disclosureIcon.visible = false;
}
}
}
}
mxml:
我发现如果使用xmllist,没有这个问题,如果没有子项,将不会显示discloure图标
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
private var dataArray:Array = [
{label:"father1", children:
[{label:"child1"},
{label:"child2"}]},
{label:"father2", children:[]}];
[Bindable]
private var dataList:ArrayCollection = new ArrayCollection(dataArray);
]]>
</fx:Script>
<mx:Tree id="tr1" width="100%" height="80"
dataProvider="{dataList}"
labelField="label"
borderVisible="false"
itemRenderer="com.simmone.renderers.MyTreeItemRenderer"/>