写一个小系统 ,需要选择月份 ,自己写了一个 ,看看有没有更好的解决方法 .
Ext.define('Ext.ux.MyDatePicker', { extend: 'Ext.menu.Menu', xtype: 'myDatePicker', requires: [ 'Ext.picker.Month' ], alias: 'widget.mydatepicker', initComponent : function(){ var me = this; Ext.apply(me, { items: Ext.applyIf({ height:'240', id: me.pickerId, xtype: 'monthpicker', listeners: { scope: me, cancelclick:{ fn:me.onCancelClick } , okclick: { fn:me.onOkClick }, yeardblclick: { fn:me.onOkClick}, monthdblclick:{ fn:me.onOkClick } } },me.initialConfig) }); me.callParent(arguments); me.picker = me.down('monthpicker'); me.picker.setValue( Ext.Date.clearTime(new Date())); }, onOkClick:function(picker, value){ this.up().setText(value[1]+' 年 -'+(value[0]+1)+' 月 '); this.onCancelClick(); }, onCancelClick:function(){ Ext.menu.Manager.hideAll(); }, });
调用时就是这样
{ text:'选择月份', menu:{ xtype: 'mydatepicker', plain: true, }