Ext5.1日期控件仅显示年月

Posted _IT小野人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ext5.1日期控件仅显示年月相关的知识,希望对你有一定的参考价值。

1、注册xtype类型

2、保存文件为xxxx.js

3、使用 xtype : monthfield

   return this.buildToolbar({
                items: [
                    { xtype: \'monthfield\', cId: \'dfBeginDate\', labelWidth: 40, width: 150, format: \'Y-m\', fieldLabel: \'日期\' },
                    { xtype: \'monthfield\', cId: \'dfEndDate\', labelWidth: 20, width: 125, format: \'Y-m\', fieldLabel: \'至\' },                  
                    { cId: \'btnSearch\', text: "查询", operationName: \'Search\' }
                ]
            });

4、效果

 

  

-------------------------------------------------------------------

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,
            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);
    },
    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]);
    }
});

 

以上是关于Ext5.1日期控件仅显示年月的主要内容,如果未能解决你的问题,请参考以下文章

EasyUi日期控件datebox,只显示年月,也只能选择年月(亲测有效,无效视频剁吊)

JQuery EasyUI 日期控件 怎样做到只显示年月,而不显示日

mniui里面没有只显示年的控件,monthpicker显示年月,datepicker显示具体到天的日期

WPF DatePicker默认显示当前日期,格式化为年月日(转)

gridview控件里的时间怎样才能只显示年月日

WPF 用TextBox和Calendar自定义可以选择年月的日期选择控件