FLEX实践—数据源变化问题

今天在做FLEX项目时遇到一个问题:

前提描述:

界面上有两种STATE:NEW_STATE,UPDATE_STATE

UPDATE_STATE下,数据来自数据库查询的结果,界面上的控件绑定为

<mx:TextInput id="code" text="{formData.code}">

其中formData为全局变量,用于接收查询到的数据对象,而code则是数据表中的一个字段

 

NEW_STATE下,做了以下操作:

formData = new Object();

formData.code = "TEST";

 

场景描述:

先在界面上查询数据,查询后点击按钮进入详细信息界面,即UPDATE_STATE,此时code.text="REALLY"(数据库中保存的数据)

接着通过新建按钮切换到NEW_STATE,发生了奇怪的现象,code的内容并没有像预期设置的一样为"TEST",而是"REALLY"

 

修改方案:

查了半天,没找出原因,原本以为切换到NEW_STATE后会执行

formData = new Object();

formData.code = "TEST";

而<mx:TextInput id="code" text="{formData.code}">又指定了将code.text与formData.code进行绑定,应该能在NEW_STATE时更新code.text,可是结果却没有;

 

最后采用了以下的方法

formData = new Object();

var temp:Object = new Object();

temp.code = "TEST";

formData = temp;

 

修改后结果就和预期的一致了。

 

结论:考虑了很久也没想出合适的解释,只能说暂时解决了这个问题。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值