我们使用mx:DateField作为日期,editable =“true”,这样我们就可以选择日期或输入日期。要求是我们不能在此字段中输入超过10个字符(10/10/2010)。但DateField没有maxChars属性来限制它。
因此我们尝试使用Text Field + DateChooser来限制字符数。一切都按预期工作,但问题是DateChooser在页面上显示整个日历,而不是弹出日历的日历图标(如DateField)。
所以现在我的q是
1)使用DateField,如何将可以在文本字段中输入的字符数限制为10
或
2)使用DateChooser,如何更改它的外观以显示日历图标,然后在点击它时将日历显示为弹出窗口(类似于DateField)。
如果有人可以帮助我,那将是美好的。
答案 0 :(得分:2)
从这样的事情开始:
<s:TextInput click="dc.visible=!dc.visible" maxChars="10" />
<mx:DateChooser id="dc" visible="false" />
从这里你只需要处理点击事件到日期选择器并适当填写文本输入
更新: 试图从评论中回答您的问题
UI:
<s:HGroup>
<s:TextInput id="dateInput" click="dateInput_clickHandler(event)" maxChars="10" />
<mx:DateChooser id="dc" visible="false" includeInLayout="false" change="dc_changeHandler(event)" />
</s:HGroup>
脚本:
protected function dateInput_clickHandler(event:MouseEvent):void
{
dc.includeInLayout = !dc.includeInLayout;
dc.visible = !dc.visible;
}
protected function dc_changeHandler(event:CalendarLayoutChangeEvent):void
{
dateInput.text = dateFormatter.format(event.newDate);
dateInput_clickHandler(null);
}
声明:
<mx:DateFormatter id="dateFormatter" formatString="MM/DD/YYYY" />
希望这有帮助! -Ian