我想要这样的事情:
{
xtype:'datefield',
editable:false,
fieldLabel:'date',
listeners:{
monthChange:function(picker){
alert("selected month and year")
}
}
}
是否有任何月份变更事件?如果没有,我该怎么写呢?
由于
答案 0 :(得分:2)
这是扩展'Ext.date.Picker'的示例,因为没有'monthchange'事件:
Ext.define("YourCalendarPicker", {
extend: "Ext.picker.Date",
...
update : function(date, forceRefresh){
var me = this,
monthViewChange = me.isAnotherMonthView(date);
me.callParent(arguments);
if (monthViewChange){
me.fireEvent("monthviewchange", me, date, me.activeDate);
}
return me;
},
...
/**
* return true if the given date is in a different month view of the actual calendar date
* @param {Date} date
* @return {Boolean}
*/
isAnotherMonthView: function(date){
var activeDate = this.activeDate || date;
return date.getYear() != activeDate.getYear() || date.getMonth() != activeDate.getMonth();
}
};
答案 1 :(得分:1)
确切地说没有一个monthChange事件,但是当有人选择一个新日期时你可以听,那么也许你可以比较月份以查看它是否发生了变化? http://docs.sencha.com/ext-js/4-1/#!/api/Ext.picker.Date-event-select
如果这不是您要解决的问题,那么更多信息会有所帮助。