一:问题描述
Flex的DateField控件,在加载赋值后,如果赋值为空,点击控件时会出现 TypeError 1009 stringToDate异常,无法访问空对象引用的属性或方法。无法调用解析函数
stringToDate
二:解决方法
在对应的DateField对象上,指定parseFunction=”parseDate”即可。
意思是,如果为空,就直接返回!
parseDate方法如下:
private function parseStartDate(valueString:String, inputFormat:String):Date
{
if (StringUtil.trim(valueString) == "")
return null;
var date:Date = DateField.stringToDate(valueString, inputFormat);
return date;
}
三:进一步分析
查看API
DateField的parseFunction
parseFunction就是为了替换默认的解析函数的,相当于重写了解析函数,如果指定就走parseFunction函数,如果不指定,就走默认的解析函数。
参考文档: