extjs4下datefield+timefield组成datetimefield

不说那么多,直接上代码,希望大家多多开源。

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)
}
})

以下就是效果

相关文章

一:display:flex布局display:flex是一种布局方式。它即可以...
1. flex设置元素垂直居中对齐在之前的一篇文章中记载过如何...
移动端开发知识点pc端软件和移动端apppc端软件是什么,有哪些...
最近挺忙的,准备考试,还有其他的事,没时间研究东西,快周...
display:flex;把容器设置为弹性盒模型(设置为弹性盒模型之后...
我在网页上运行了一个Flex应用程序,我想使用Command←组合键...