Apache flex 从列表中的ItemRenderer获取项的更改值
我有一个以textInput作为itemrenderer的列表。最初,该列表将加载来自数据提供程序的数据。但是,由于项目是在textInputs中呈现的,因此我能够更改特定项目的值 但是,当尝试使用下面的函数访问已更改项的值时,我仍然会在跟踪中获取旧值:Apache flex 从列表中的ItemRenderer获取项的更改值,apache-flex,actionscript-3,flex4,itemrenderer,Apache Flex,Actionscript 3,Flex4,Itemrenderer,我有一个以textInput作为itemrenderer的列表。最初,该列表将加载来自数据提供程序的数据。但是,由于项目是在textInputs中呈现的,因此我能够更改特定项目的值 但是,当尝试使用下面的函数访问已更改项的值时,我仍然会在跟踪中获取旧值: private function addItem(event:Event):void { trace(myDataProvider.getItemAt(myList.selectedIndex).label); } 有人能告诉我需要做
private function addItem(event:Event):void {
trace(myDataProvider.getItemAt(myList.selectedIndex).label);
}
有人能告诉我需要做什么才能获得新的价值观吗。我的itemrenderer如下所示:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:components="components.*"
>
<s:layout>
<s:HorizontalLayout/>
</s:layout>
<fx:Script>
<![CDATA[
override public function set data( value:Object ) : void {
super.data = value;
}
protected function myTextInput_enterHandler(event:FlexEvent):void
{
trace(myTextInput.text);
What Next??
}
]]>
</fx:Script>
<components:myComp1 text="{data.label}" id="myTextInput" enter="myTextInput_enterHandler(event)"/>
</s:ItemRenderer>
谢谢你的帮助。任何人。尝试使用:
<?xml version="1.0" encoding="utf-8"?>
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:components="components.*"
>
<s:layout>
<s:HorizontalLayout/>
</s:layout>
<fx:Script>
<![CDATA[
override public function set data( value:Object ) : void {
super.data = value;
}
protected function myTextInput_enterHandler(event:FlexEvent):void
{
trace(myTextInput.text);
data.label = myTextInput.text;
}
]]>
</fx:Script>
<components:myComp1 text="{data.label}" id="myTextInput" enter="myTextInput_enterHandler(event)"/>
</s:ItemRenderer>
我已尝试设置以下行data.label=myTextInput.text,但仍然不起作用。在主应用程序中执行以下操作时..它仍然给我旧值:trace(myDataProvider.getItemAt(1.label)//对于我正在测试并更改其值的索引)或跟踪(myDataProvider.getItemAt(myList.selectedIndex.label);此处缺少任何内容?将断点放在myTextInput\u enterHandler
处理程序中,查看发生了什么(哪些变量随哪些值而变化)。我想你错过了一些明显的东西。