当用户从 datepickerfield 组件中选择一个日期时(当他们点击内置的“完成”按钮时),我需要触发一个事件。我试图参考按钮的“动作”等,但没有运气。
任何有关如何从 datepickerfield“完成”按钮创建 ref(或处理程序或侦听器)的信息将不胜感激。
以下是我的观点的一部分:
items:[{
xtype: 'button',
align: 'right',
text: 'Mark all present',
action: 'markAllPresent'
},
{
xtype: 'datepickerfield',
cls: 'pickAdate',
align: 'left',
label: 'Date',
name: 'date',
value: new Date(),
picker : {
yearFrom: 2012,
toolbar : {
items : [
{
xtype: 'button',
ui: 'confirm',
text: 'Today',
align: 'right',
handler: function(button, event) {
var picker = button.up('datepicker');
picker.fireEvent('change', picker, Ext.DateExtras.clearTime(new Date()));
//Today button , clear date
}
}
]
}
},
doneButton:{
action: 'dateDone' //THIS DOES NOTHING ---------==============
},
listeners: {
change: function(picker, date) {
console.log(date);
var store = Ext.create('Ext.data.Store', {
model: 'App.model.NewDateModel',
id:'DateStore'
});
store.add(date);
store.setData(date);
store.sync();
this.fireEvent("newDatePicked", this);
// **DOES NOT FIRE EVENT IN MY CONTROLLER================
}
}
}]
我的控制器:
config: {
control: {
doneButton: {
newDatePicked: 'newDatePicked'
}
},
refs: {
doneButton: 'button[action=dateDone]'
}
},
newDatePicked: function(list, record) {
.....
}
谢谢