国产探花免费观看_亚洲丰满少妇自慰呻吟_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 方法則可以移除添加到某一組件內的所有子組件。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 珠海市| 尼玛县| 桦甸市| 炎陵县| 嵩明县| 牟定县| 安塞县| 抚宁县| 云霄县| 梓潼县| 潍坊市| 青冈县| 阿坝| 和平区| 苏尼特右旗| 余江县| 天峻县| 调兵山市| 登封市| 革吉县| 安福县| 舒城县| 平邑县| 石家庄市| 开江县| 山西省| 华宁县| 荔浦县| 湘潭县| 普格县| 文登市| 宁德市| 兰西县| 河津市| 巴青县| 贺兰县| 元谋县| 泗阳县| 吉首市| 阳春市| 广水市|