extjs日期控件只能选择年月问题

J2EE 码拜 8年前 (2016-09-18) 1543次浏览
本人扩展了一下Ext.form.field.Date控件,出现的问题是控件展开后,只要点一下,控件就消失了,无法选择
代码:
Month.js:
Ext.define(“Ext.form.field.Month”, {
extend : “Ext.form.field.Date”,
alias : “widget.monthfield”,
requires : [“Ext.picker.Month”],
alternateClassName : [“Ext.form.MonthField”, “Ext.form.Month”],
selectMonth : null,
createPicker : function() {
var me = this, format = Ext.String.format;
return Ext.create(“Ext.picker.Month”, {
pickerField : me,
height:190,
ownerCt : me.ownerCt,
renderTo : document.body,
floating : true,
hidden : true,
focusOnShow : true,
minDate : me.minValue,
maxDate : me.maxValue,
disabledDatesRE : me.disabledDatesRE,
disabledDatesText : me.disabledDatesText,
disabledDays : me.disabledDays,
disabledDaysText : me.disabledDaysText,
format : me.format,
showToday : me.showToday,
startDay : me.startDay,
minText : format(me.minText, me.formatDate(me.minValue)),
maxText : format(me.maxText, me.formatDate(me.maxValue)),
listeners : {
select :        {scope : me,  fn : me.onSelect },
monthdblclick : {scope : me,  fn : me.onOKClick},
yeardblclick :  {scope : me,  fn : me.onOKClick},
OkClick :       {scope : me,  fn : me.onOKClick},
CancelClick :   {scope : me,  fn : me.onCancelClick}
},
keyNavConfig : {
esc : function() {
me.collapse();
}
}
});
},
onCancelClick : function() {
var me = this;
me.selectMonth = null;
me.collapse();
},
onOKClick : function() {
var me = this;
if (me.selectMonth) {
me.setValue(me.selectMonth);
me.fireEvent(“select”, me, me.selectMonth);
}
me.collapse();
},
onSelect : function(m, d) {
var me = this;
me.selectMonth = new Date((d[0] + 1) + “/1/” + d[1]);
}
});
解决方案

20

调试到源码里啊。没有环境怎么知道那句错误了。
其次你再换其他浏览器看看,画面有没有js 错误。扑住画面的事件 到源码里面调试看看吧。

10

首先js 有没有报错,没有报错。则是js代码控制显示有问题。1.触发的事件有问题,2.设置控件的display 属性有问题

10

这种他不是写好了吗? 直接用就好了,为什么要重写呢

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明extjs日期控件只能选择年月问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)