Flex学习记录(在容器中动态添加和移除子组件)

使用addChild 或者addChildAt 方法来添加子组件,同理,使用removeChildAt 或者
removeAllChildren 方法来移除子组件。
Flex 方法使得添加和移除子组件操作变得容易,但是UIComponent 控件和容器则遵从稍显
不同的两组规则。
addChild 方法将任何继承自UIComponent 的子组件添加到调用这个方法的控件中。例如:
var component:UIComponent = new UIComponent();
addChild(component);
addChildAt 方法的不同在于,它在子组件被添加到容器的时候需要传入一个该子组件在目
标容器内的索引。在容器没有布局管理器的情况下,比如Canvas 对象,这意味着被添加的
子组件会在指定的z 索引深度上显示。而对于拥有布局管理器的容器来说,例如HBox 和VBox
组件,被添加的子组件则会出现在提供的索引上。例如:
var component:UIComponent = new UIComponent();
addChildAt(component, 3);
要移除任意子组件,调用removeChildAt,即会移除指定索引上的子组件。
removeChildAt(2);
容器和UIComponent 控件也有removeChild 方法,该方法要求传入一个需要移除的子组件的
引用。
Flex 提供了不同的方法来访问被添加到容器中的子组件。在获悉如何访问子组件之后,你
可以使用访问子组件得到的引用来移除它们。例如,任何添加到MXML 容器的子组件都可以
通过它们的id 属性来访问。任何容器的所有子组件都可以使用getChildAt 来访问它们,如
下:
getChildAt(index:int);
如果赋以了name 属性,也可以通过name 属性来访问它们。要确定任何组件所包含的子组件
个数,使用numChildren 属性:
var i:int = 0;
while(i<this.numChildren)
{
trace(getChildAt(i));
i++;
}
移除子组件的时候,可以使用子组件的index 或者id 作为引用,像后面这样的句式,
removeChild(getChildAt(2));或者removeChild(this.childId);
最后,removeAllChildren 方法则可以移除添加到某一组件内的所有子组件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值