DateField 有 format 來訂定顯示的日期格式, altFormats 來訂義可接受的輸入日期格式。但是實際上 DateField 背後(calendar)使用的的是 Date Object,而在選擇完日期也直接傳回的是 GMT 日期而非 format 所定義的格式,所以還要多一道 render 手續。
例如在 Ext.grid.ColumnModel 中
{
header: '{{"Date"|t}}',
dataIndex: 'date',
editor: new Ext.form.DateField({format:'Y-m-d', altFormats:'Y-m-d'}),
renderer: function (value) {
if (value instanceof Date) {
return new Date(value).dateFormat('Y-m-d');
}
// 原封不動的傳回去,通常是一開始指定的值,或是再做其他處理
return value;
}
}