EXTJS 5.1 上的月份字段 [英] Month field on EXTJS 5.1
问题描述
我得到了这个很棒的小提琴 https://fiddle.sencha.com/#fiddle/h5i 来自另一个堆栈溢出帖子(感谢 igor).但我有一个问题:如果我选择 extjs 5.1 版,代码将不起作用,这是我在我的应用程序中使用的版本.问题是,当我单击一个月或一年时,日历会关闭(您可以通过将版本设置为 5.1 并再次运行 fiddle 来尝试该行为).我尝试自定义部分代码,但没有任何改变:s.
I got this awesome fiddle https://fiddle.sencha.com/#fiddle/h5i from another stack overflow post (thanks igor). BUT I have one problem: the code doesn't work if I select extjs version 5.1, which is the version I use in my application. The problem is that when I click on a month or a year, the calendar just closes (you can try the behaviour by setting the version to 5.1 and running the fiddle again). I have tried to custom parts of the code, but nothing changed :s.
任何人都知道为什么这不适用于 extjs 5.1,或者我该如何解决这个问题?
Anyone has any ideas of why this doesn't work with extjs 5.1, or how could i workaround the problem ?
提前致谢:)!
推荐答案
不知何故,Chrome 的行为有所不同.请尝试以下操作:
Somehow Chrome behavior is different. Try the following:
createPicker: function () {
var me = this,
format = Ext.String.format,
pickerConfig;
pickerConfig = {
pickerField: me,
ownerCmp: me,
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();
}
}
};
if (Ext.isChrome) {
me.originalCollapse = me.collapse;
pickerConfig.listeners.boxready = {
fn: function () {
this.picker.el.on({
mousedown: function () {
this.collapse = Ext.emptyFn;
},
mouseup: function () {
this.collapse = this.originalCollapse;
},
scope: this
});
},
scope: me,
single: true
}
}
return Ext.create('Ext.picker.Month', pickerConfig);
}
这篇关于EXTJS 5.1 上的月份字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!