国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

3.4.在容器中動態添加和移除子組件

2024-04-27 13:51:47
字體:
來源:轉載
供稿:網友
3.4.1 問題
需要程序在運行時從容器添加和移除子組件而不使用Repeater 或者DataProvide 控件。
3.4.2 解決辦法
使用addChild 或者addChildAt 方法來添加子組件,同理,使用removeChildAt 或者
removeAllChildren 方法來移除子組件。
3.4.3 討論
Flex 方法使得添加和移除子組件操作變得容易,但是UIComponent 控件和容器則遵從稍顯不同的兩組規則。

addChild 方法將任何繼承自UIComponent 的子組件添加到調用這個方法的控件中。例如:
+展開
-ActionScript
var component:UIComponent = new UIComponent();
addChild(component);

addChildAt 方法的不同在于,它在子組件被添加到容器的時候需要傳入一個該子組件在目標容器內的索引。在容器沒有布局管理器的情況下,比如Canvas 對象,這意味著被添加的子組件會在指定的z 索引深度上顯示。而對于擁有布局管理器的容器來說,例如HBox 和VBox組件,被添加的子組件則會出現在提供的索引上。例如:
+展開
-ActionScript
var component:UIComponent = new UIComponent();
addChildAt(component, 3);

要移除任意子組件,調用removeChildAt,即會移除指定索引上的子組件。
+展開
-ActionScript
removeChildAt(2);

容器和UIComponent 控件也有removeChild 方法,該方法要求傳入一個需要移除的子組件的引用。

Flex 提供了不同的方法來訪問被添加到容器中的子組件。在獲悉如何訪問子組件之后,你可以使用訪問子組件得到的引用來移除它們。例如,任何添加到MXML 容器的子組件都可以通過它們的id 屬性來訪問。任何容器的所有子組件都可以使用getChildAt 來訪問它們,如下:
+展開
-ActionScript
getChildAt(index:int);

如果賦以了name 屬性,也可以通過name 屬性來訪問它們。要確定任何組件所包含的子組件個數,使用numChildren 屬性:
+展開
-ActionScript
var i:int = 0;
while(i<this.numChildren)
{
trace(getChildAt(i));
i++;
}

移除子組件的時候,可以使用子組件的index 或者id 作為引用,像后面這樣的句式,removeChild(getChildAt(2));或者removeChild(this.childId);

最后,removeAllChildren 方法則可以移除添加到某一組件內的所有子組件。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天镇县| 淮北市| 荔波县| 开封市| 通道| 远安县| 灯塔市| 天峻县| 三原县| 芦溪县| 黎平县| 河间市| 蚌埠市| 武隆县| 英德市| 四川省| 罗源县| 石台县| 扎鲁特旗| 平罗县| 包头市| 正宁县| 宿州市| 广河县| 凤阳县| 武川县| 尉氏县| 汝州市| 宁远县| 宝丰县| 鹿邑县| 商城县| 永城市| 清徐县| 连云港市| 大港区| 永顺县| 富源县| 吴旗县| 尚志市| 佛学|