日期:2014-05-16  浏览次数:20475 次

flex:getChildByName()方法的研究
在flex页面里面,要想获得一个对象,只能在子父两个级别之间获得。不能跨级别关系去获得。

    <mx:Canvas id ="canvas0" >  
     <mx:HBox id ="hbox0" >  
      <mx:RadioButton id="artRadioButton2" groupName="PLANSTATE" selected="true" label="已下发" value="2"  />  
      <mx:RadioButton id="artRadioButton3" groupName="PLANSTATE" label="未提交" value="3" />  
      <mx:RadioButton id="artRadioButton4" groupName="PLANSTATE" label="未审核" value="4" />  
     </mx:HBox>  
    </mx:Canvas >  


在canvas0里面是无法获直接得RadioButton对象的。

要先从canvas0里面获得hbox0对象,然后在hbox0里获得RadioButton对象。

也就是说canvas0.getChildByName("artRadioButton2")返回的是null



在flex种没有getChildByID()方法。。。

但是getChildByName()方法是通过name属性来获得对象的。这时候我就要告诉大家,一个控件没有赋值name属性,只有赋值了id属性,那么它的name属性的值就是id属性的值。

因此 hbox0.getChildByName("artRadioButton2")时可以放回相应的对象。





所以我可以利用这一特性,在别的文件里面来控制这个页面里德hbox0里面的一组RadioButton,哪个不显示。