我正在尝试在 flex 3 中实现可重用组件。我有一个动态的选项卡导航器。在屏幕上,我有一个带有单击操作的按钮,一个带有 vbox 的选项卡导航器将被创建为子级,在 vbox 中我有一个接受输入的文本框来自用户的信息。
我在点击按钮旁边有一个显示按钮。当用户单击显示按钮并且打开四个选项卡时,我们需要将 VBox 的所有文本框放入文本区域。
这是我的代码。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import Repeat;
private var input:String;
private var i:int=0;
private function addNextTab(event:Event):void {
tabs.addChild(new Repeat("Tab"));
}
private function show()
{
var child:DisplayObject;
for(i=0;i<tabs.numChildren;i++)
{
child=tabs.getChildAt(i);
input=TextInput(child.getChildAt(0)).text;//error
textArea.text=textArea.text+input;
}
}
]]>
</mx:Script>
<mx:TabNavigator id="tabs" width="100%" height="100%">
</mx:TabNavigator>
<mx:TextArea id="textArea"/>
<mx:Button label="Add Next Tab" click="addNextTab(event)" />
<mx:Button label="Show Values" click="show()" />
</mx:Application>
一行显示错误。我是 flex 的初始学习者。但我试着学习并做我自己的。这是我的Repeat.as
package {
import mx.containers.VBox;
import mx.controls.Label;
import mx.controls.TextInput;
public class Repeat extends VBox {
public function Repeat(name:String) {
label = name;
}
override protected function createChildren():void {
super.createChildren();
var box:VBox = new VBox();
var t1:TextInput = new TextInput();
box.addChild(t1);
addChild(box);
}
}
}
我必须访问所有选项卡的文本框信息并将其放在 textArea 中。
有谁能够帮助我。?
顺便说一句:这是 flex 3 应用程序。