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