gpt4 book ai didi

apache-flex - 单击选项卡时访问选项卡导航器内的 View

转载 作者:行者123 更新时间:2023-12-04 06:52:52 25 4
gpt4 key购买 nike

我在 Flex 3 中有一个 View ,我在其中使用选项卡导航器和选项卡导航器内的许多 View 。我需要知道点击了哪个 View ,因为它是一个特定的 View ,然后我需要采取行动,即如果单击了 ID 为“secondTab”的 View ,则执行某些操作。

我已将其设置为收到通知,我的问题是我需要能够知道它是什么 View 。调用 tab.GetChildByName或类似的方法似乎只能让我回到 TabSkin目的。

<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
width="100%"
height="100%"
xmlns:local="*"
creationComplete="onCreationComplete(event)">

<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.controls.Button;

protected function onCreationComplete(event:Event):void {
for(var i:int = 0; i < myTN.getChildren().length; i++) {
var tab:Button = myTN.getTabAt(i);
tab.addEventListener(FlexEvent.BUTTON_DOWN, tabClickHandler);
}
}

private function tabClickHandler(event:FlexEvent):void {
var tab:Button;

if(event.currentTarget is Button) {
tab = event.currentTarget as Button;

// how do I access the actual view hosted in a tab that was clicked?
}
}



]]>
</mx:Script>

<mx:TabNavigator id="myTN">
<local:ProductListView id="firstTab"
label="First Tab"
width="100%" height="100%" />
<local:ProductListView id="secondTab"
label="Second Tab"
width="100%" height="100%" />
</mx:TabNavigator>


</mx:VBox>

最佳答案

TabNavigatorViewStack 的子类它会触发 change 选择选项卡时的事件。

<mx:TabNavigator id="myTN" change="childChanged()">
<local:ProductListView id="firstTab"
label="First Tab"
width="100%" height="100%" />
<local:ProductListView id="secondTab"
label="Second Tab"
width="100%" height="100%" />
</mx:TabNavigator>

它非常简单:
private function childChanged():void
{
if(myTN.selectedChild == this.firstTab) //or myTN.selectedIndex == 0
{
trace("selected the first one");
}
else if(myTN.selectedChild == this.secondTab) //or myTN.selectedIndex == 0
{
trace("selected the second one");
}
}

关于apache-flex - 单击选项卡时访问选项卡导航器内的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2866003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com