我有一些代码如下:Adobe Flex的的DateField
private function onComboChange(evt:Event):void {
var temp:Date = df_date.selectedDate;
temp.date += 5;
df_dateDue.selectedDate = new Date(temp);
}
从本质上说,我想5天添加到在df_date选定的日期,并把该日期为df_dateDue。这通过组合框上的EventListener触发。 df_date和df_dateDue都是dateFields。 OK,所以我第一次运行它,它工作正常; df_date保持不变,df_dateDue设置为df_date之后的5天。但是,下次运行它时,df_dateDue会从df_date增加10天,下一次增加15,依此类推。
因此,单步执行代码表明df_date已经链接到temp var,并且temp var在每次调用该函数时都不会重置自身。
示例:df_date = 01一月,df_dateDue = 1月1日
消防关闭的情况下,df_date = 01一月,df_dateDue = 01月06日
消防关闭事件一次。此时,var temp = 06 Jan(即使df_date仍显示01 Jan),然后df_dateDue将设置为11 Jan
再次触发事件。此时var temp = 11 Jan(即使df_date = 01 Jan),然后df_dateDue被设置为16 Jan
我在这里丢失了什么?
感谢您的回答。我不得不作出以下更改,因为它似乎ObjectUtil不能复制日期object.var temp:Object = ObjectUtil.copy(view.df_date); var d:Date = temp.selectedDate; – JonoB 2011-01-09 12:19:04