首页 > 网站 > WEB开发 > 正文

3.17.在TabNavigator内创建、启用和禁用TAB组件(TabControls)

2024-04-27 13:51:50
字体:
来源:转载
供稿:网友
3.17.1 问题
我们需要从TabNavigator 动态添加和移除tab 项,或者偶尔禁用某些tab 项。
3.17.2 解决办法
使用TabNavigator 的addChild 和removeChild 方法添加或者移除子组件,同时设置子组件的enabled 属性来启用或者禁用TabNavigator 里的某个tab 项。
3.17.3 讨论
所有添加到TabNavigator 中的子组件,都会在TabNavigator 顶部的导航条添加一个新tab项。同样移除子组件的时候也会自动移除对应的tab 项。通过绑定TabNavigator 的dataProvider 属性也能行得通。

dataProvider 的所有改变都会引起TabNavigator 更新及其顶部导航条子组件的增加或者减少。这里,组件内创建了访问方法以提供对TabNavigator控件的访问:
+展开
-XML
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxmlwidth="400"
height="300">

<mx:Script>
<![CDATA[
import mx.core.UIComponent;
public function
addChildToNavigator(value:UIComponent):void
{
navigator.addChild(value);
}
public function removeNavigatorChild(value:int =
0):void
{
if(value == 0){
navigator.removeChildAt(navigator.numChildren-1);
}eelse
{
navigator.removeChildAt(value);
}
}
public function disableTab(value:int = 0):void{
if(value == 0){
(navigator.getChildAt(navigator.numChildren - 1)
as UIComponent).enabled = false;
}e
else
{
(navigator.getChildAt(value) as
UIComponent).enabled = false;
}
}
public function get tabNumChildren():Number{
return navigator.numChildren;
}

]]>
</mx:Script>
<mx:TabNavigator id="navigator">
</mx:TabNavigator>
</mx:Canvas>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表