我曾经能够通过在 6.2.0 中执行此操作在日期字段中设置时间。
select: function (cmp, v) {
var d = v;
d.setHours(23);
d.setMinutes(59);
d.setSeconds(59);
cmp.setValue(d);
}
但是现在在 ExtJs7 中,setValue() 也会触发 select 事件。所以,它变成了一个循环。
因此,还有其他方法可以在 datefield 中设置时间吗?
您可以使用 'submitFormat' 配置属性来设置日期的默认时间:
Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
width: 300,
bodyPadding: 10,
title: 'Dates',
items: [{
xtype: 'datefield',
anchor: '100%',
fieldLabel: 'To',
name: 'to_date',
value: new Date(),
submitFormat: 'Y-m-d 23:59:59' // <-- THIS ONE
}],
buttons: [{
text: "Show Values",
handler: function() {
console.log(this.up('form').getValues());
}
}]
});