Apache flex 在双向绑定中重置数据的不方便方式:Flex 4.1

Apache flex 在双向绑定中重置数据的不方便方式:Flex 4.1,apache-flex,binding,reset,Apache Flex,Binding,Reset,我们都喜欢两种方式的结合。但如何在按下取消按钮的情况下轻松重置受影响的数据 我已经在互联网上搜索过答案(主要是:D),但我看到的所有样本都没有o_0形式的重置按钮 如果你有任何想法,请帮忙 谢谢 < P>我认为2路数据绑定在很多情况下是非常方便的 如果要将值重置为旧值;您必须存储该旧值的副本。有很多方法可以做到这一点。一种是在填充输入之前对数据进行“复制”。在重置单击处理程序中;只需将存储的值复制回表单的输入值 另一种方法可以是监听有关组件的“聚焦”事件。例如,如果您对TextInput的tex

我们都喜欢两种方式的结合。但如何在按下取消按钮的情况下轻松重置受影响的数据

我已经在互联网上搜索过答案(主要是:D),但我看到的所有样本都没有o_0形式的重置按钮

如果你有任何想法,请帮忙


谢谢

< P>我认为2路数据绑定在很多情况下是非常方便的

如果要将值重置为旧值;您必须存储该旧值的副本。有很多方法可以做到这一点。一种是在填充输入之前对数据进行“复制”。在重置单击处理程序中;只需将存储的值复制回表单的输入值

另一种方法可以是监听有关组件的“聚焦”事件。例如,如果您对TextInput的text属性进行竞价,您可以执行以下操作:

<s:TextInput id="textInput" focusIn="onFocusIn()"/>
在重置处理程序中;只需交换值:

 textInput.text = oldTextInputText;

就我个人而言,出于这个确切的原因,我不太使用双向绑定。我宁愿在需要之前不更改数据(如果其他地方正在使用它,这也可以节省数据绑定。我做到了。谢谢你的回答。但是我们的对象图非常大,不像文本那样简单。所以复制它们会使dropdownlist的selectedItem无法正常工作…@Pham Huy Anh我看不出为什么这种方法对复杂对象或dropdownlist不起作用。但是,既然你已经没有共享任何代码我猜不出您遇到了什么问题…可能是我的编码逻辑导致selectedItem出现问题…如果没有“本机方式”要回滚数据。我认为您的解决方案是最好的,在检查您的答案是否被接受之前,我将再挂一天。感谢这就是is不起作用的原因:当您复制/备份对象时,Flash player会创建一个对象的新实例。因此,当您用backedUpOne替换/恢复原始对象时,dropdownlist d我没有意识到selectedItem。我正在使用Cairgorm3数据缓存为它解决问题
 textInput.text = oldTextInputText;