国产探花免费观看_亚洲丰满少妇自慰呻吟_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 方法則可以移除添加到某一組件內的所有子組件。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仲巴县| 洛隆县| 辽宁省| 崇信县| 张家口市| 广河县| 东港市| 德昌县| 历史| 吴江市| 临夏市| 甘谷县| 神木县| 临潭县| 延吉市| 姜堰市| 广德县| 沙坪坝区| 池州市| 祥云县| 渭源县| 太保市| 上犹县| 平原县| 吉首市| 乡城县| 吐鲁番市| 鹰潭市| 和田市| 苍山县| 白沙| 攀枝花市| 郸城县| 周口市| 兰州市| 兰溪市| 泸西县| 凤凰县| 阳朔县| 平塘县| 马龙县|