0
我使用自定義項目渲染器的火花List
和dataProvider
的ArrayCollection
。通過項目渲染器編輯ArrayCollection
的itemRenderer看起來像
<mx:TextInput id="txtValue1" text="{data.myFirstValue}"/>
<mx:TextInput id="txtValue2" text="{data.mySecondValue}"/>
然而,即使我改變文本的txtValue1
或txtValue2
,這些實際上並沒有在裏面的ArrayCollection對象改變。
myFirstValue
和mySecondValue
裝飾有[Bindable]
標籤。
我的理解是,如果text
屬性設置爲綁定某個屬性,應該自動應用更改。
所以HACK(或因此我認爲),我用的是聽focusOut
事件的每個文本框,並訪問父數據提供者和手動設置的值。
我在做什麼錯?它應該像這樣工作嗎?
或者我明白了什麼錯誤?
該死! :噢,這實際上是訣竅!哦,爲什麼我以前不知道這件事! :S太感謝了! – 2011-06-16 10:11:03
@Brian:我更新了你的答案以提供更多信息。希望你不要介意:) – 2011-06-16 10:21:14
@Ranhiru:我刪除了「使用雙向綁定時要小心,因爲最初爲空的TextInput等可以清除數據模型中的數據。」因爲我不確定我是否理解它......我始終使用雙向綁定,但從未遇到過這樣的問題。在什麼情況下會發生? – 2011-06-16 11:02:04