不说那么多,直接上代码,希望大家多多开源。
Ext.define(这里填写的文件在程序的路径,{
extend : 'Ext.form.FieldContainer',
mixins : {
field : 'Ext.form.field.Field'
},
alias : 'widget.datetimefield',
layout : 'hBox',
combineErrors : true,
msgTarget : 'side',
dateTimeFormat : 'Y-m-d H:i:s',
dateCfg : {},
timeCfg : {},
initComponent : function() {
var me = this;
me.buildField();
me.callParent();
this.dateField = this.down('datefield')
this.timeField = this.down('timefield')
me.initField();
},
// @private
buildField : function() {
this.items = [Ext.apply({
xtype : 'datefield',
format : 'Y-m-d',
allowBlank : false,
editable : false,
flex : 4
},this.dateCfg),Ext.apply({
xtype : 'timefield',
format : 'H:i',
submitFormat : 'H:i:s',
flex : 1
},this.timeCfg)]
},
getValue : function() {
var value,date = this.dateField.getSubmitValue(),time = this.timeField
.getSubmitValue();
console.log(date);
console.log(time);
if (date) {
if (time) {
var format = this.getFormat()
console.log(format);
value = Ext.Date.parse(date + ' ' + time,format)
} else {
value = this.dateField.getValue()
}
}
return value
},
getSubmitValue : function() {
console.log(this.getValue());
var value = this.getValue();
return value ? Ext.Date.format(value,this.dateTimeFormat) : null;
},
setValue : function(value) {
this.dateField.setValue(value)
this.timeField.setValue(value)
},
getSubmitData : function() {
var value = this.getValue()
var format = this.getFormat()
return value ? Ext.Date.format(value,format) : null;
},
getFormat : function() {
return (this.dateField.submitFormat || this.dateField.format) + " "
+ (this.timeField.submitFormat || this.timeField.format)
}
})
以下就是效果: