Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Flex tree:当树节点没有子节点时,使插入符号不出现_Actionscript 3_Apache Flex_Flash Builder_Flex4.6 - Fatal编程技术网

Actionscript 3 Flex tree:当树节点没有子节点时,使插入符号不出现

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

如果树节点没有子节点,是否有任何方法防止在树节点之前显示“>”插入符号?我希望它在children为空ArrayCollection时不显示。我知道您可以将arraycollection设置为null,但我希望避免在整个代码中执行所有null检查。

创建如下自定义渲染器:

 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"/>