Javascript Extjs 5-仅日期选择器年份
我想日期选择器没有天或月,只是与年 我想要这个 但是没有月份,只有一年Javascript Extjs 5-仅日期选择器年份,javascript,extjs,datepicker,picker,Javascript,Extjs,Datepicker,Picker,我想日期选择器没有天或月,只是与年 我想要这个 但是没有月份,只有一年 谢谢您可以覆盖选择器以隐藏月份部分,并将此类用于日期字段中的选择器。我为month部分设置“display:none”(以允许更改组件的逻辑),并覆盖picker主体的样式(最好在CSS规则中设置): Ext.define('Ext.ux.onlyearpicker'{ xtype:“仅适用于耳机”, 扩展:“Ext.picker.Month”, afterRender:function(){ 这是callParent()
谢谢您可以覆盖选择器以隐藏月份部分,并将此类用于日期字段中的选择器。我为month部分设置“display:none”(以允许更改组件的逻辑),并覆盖picker主体的样式(最好在CSS规则中设置):
Ext.define('Ext.ux.onlyearpicker'{
xtype:“仅适用于耳机”,
扩展:“Ext.picker.Month”,
afterRender:function(){
这是callParent();
this.el.setStyle({width:'106px',})
},
renderTpl:[
'',
'',
'',
'',
“对于有Chrome问题的用户,请将createPicker函数转换为:
createPicker: function () { // Converted function to Chrome
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.ux.OnlyYearPicker', pickerConfig);
},
您可以在此处看到一个示例:
如果没有,您的选择器将在每次单击“选择年份”时消失
createPicker: function () { // Converted function to Chrome
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.ux.OnlyYearPicker', pickerConfig);
},