Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 如何使用xtype:';在单击“今天”按钮时添加自定义代码;日期字段';_Extjs - Fatal编程技术网

Extjs 如何使用xtype:';在单击“今天”按钮时添加自定义代码;日期字段';

Extjs 如何使用xtype:';在单击“今天”按钮时添加自定义代码;日期字段';,extjs,Extjs,如何使用xtype:“datefield”在单击“今天”按钮时添加自定义代码 例如:单击“今天”按钮后添加自定义日期 此代码不会阻止“今日”按钮的默认行为 { xtype: 'datefield', //... listeners:{ afterrender: function(){ this.getPicker().el .down("div.x-datepicker-footer")

如何使用xtype:“datefield”在单击“今天”按钮时添加自定义代码

例如:单击“今天”按钮后添加自定义日期


此代码不会阻止“今日”按钮的默认行为

{
    xtype: 'datefield',
    //...
    listeners:{
        afterrender: function(){
            this.getPicker().el
            .down("div.x-datepicker-footer")
            .down('a.x-btn')
            .dom
            .onclick = function(){
                console.log('hooked');
            };
        }
    }
}

正如@A1rPun所建议的,这里有一个从选择器获取按钮的实现

var picker = Ext.create('Ext.form.field.Date', {
    anchor: '100%',
    fieldLabel: 'From',
    name: 'from_date',
    maxValue: new Date()
});
var field = Ext.create('Ext.form.Panel', {
    renderTo: Ext.getBody(),
    width: 400,
    height: 400,
    title: 'Dates',
    items: [picker]
});
picker.getPicker().todayBtn.on('click', function() { 
    alert('hello');
});

呈现datefield后,可以从date picker对象获取todayBtn并更改其处理程序。下面的示例显示如何将“今天”操作更改为“昨天”:

Ext.onReady(函数(){
showPanel();
});
showPanel=函数(){
Ext.create('Ext.form.Panel'{
renderTo:Ext.getBody(),
宽度:250,
车身衬垫:10,
标题:“带有“昨天”按钮的日期字段”,
项目:[{
xtype:'日期字段',
主播:100%,
字段标签:“日期”,
格式:“Y/m/d”,
值:Ext.Date.subtract(新日期(),Ext.Date.DAY,1),
听众:{
呈现:函数(日期字段){
var picker=dateField.getPicker(),
昨天=Ext.Date.subtract(新日期(),Ext.Date.DAY,1),
选择昨天=函数(){
这个.setValue(昨天);
this.firevent('select',this,this.value);
this.onSelect();
};
picker.todayBtn.setText(“昨天”);
picker.todayBtn.setTooltip(Ext.String.format(“{0}(空格键)”,
Ext.Date.format(昨天,dateField.format));
picker.todayBtn.setHandler(选择昨天,picker);
picker.eventEl.addKeyListener(Ext.EventObject.SPACE,selectDayed,picker);
}
}
}]
});
}

+1这太棒了:)甚至比我的解决方案更好。
todayBtn
配置甚至不在文档中!我看到Saki的学校:)
var picker = Ext.create('Ext.form.field.Date', {
    anchor: '100%',
    fieldLabel: 'From',
    name: 'from_date',
    maxValue: new Date()
});
var field = Ext.create('Ext.form.Panel', {
    renderTo: Ext.getBody(),
    width: 400,
    height: 400,
    title: 'Dates',
    items: [picker]
});
picker.getPicker().todayBtn.on('click', function() { 
    alert('hello');
});