0
我有一個帶有textInput作爲itemrenderer的列表。最初,該列表將加載來自數據提供者的數據。然而,由於項目是在textInputs中呈現的,我有能力更改特定項目的值。從列表中的ItemRenderer中獲取已更改的值
但在嘗試訪問使用下面的功能更改的項目的價值時,我仍然可以在我的跟蹤舊值:
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>
謝謝你的幫助..任何人。
我已經嘗試設置,下面一行, data.label = myTextInput.text 但它仍然無法正常工作。當在主應用程序中執行以下操作時:它仍舊給出舊值: trace(myDataProvider.getItemAt(1).label); //用於我正在測試並更改其值的索引) 或 trace(myDataProvider.getItemAt(myList.selectedIndex).label); 這裏有什麼缺失嗎? – FlexBoz
將斷點放入'myTextInput_enterHandler'處理程序中,看看會發生什麼(哪些變量隨着什麼值發生了變化)。我想你已經錯過了一些明顯的東西。 – Constantiner
確實錯過了惠顧..Thx – FlexBoz