按键删除'打开' datefield和close相关的datepicker

时间:2014-05-12 11:05:52

标签: extjs datepicker

我有一个ExtJS form.field.Date,如下所示;

{
    xtype: 'datefield',
    name: 'X_Cut_Process_Completed_Date',
    format: 'd M Y',
    startDay: 1,
    allowBlank: true,
    editable: false,
    listeners: {
        specialkey: function(field, e){
            if (e.getKey() == e.DELETE) {
                field.setValue('');
            }
        }
    }
}

我被要求实施一个事件,该事件在编辑datefield时(在关联的datepicker打开时)捕获Delete键,清除datefielddatepicker的值关闭specialkey。现有的datefield侦听器仅在datefield未被编辑时清除该值。

如何实现关闭datepicker datefield并同时清除{{1}}值的侦听器?

1 个答案:

答案 0 :(得分:0)

[UPDATE]

您可以获取选择器并隐藏它:

field.getPicker().hide()

我测试了它并且它有效。为yoursef测试它:

  1. 导航至http://extjs.eu/software/form-field-icon-plugin/
  2. 控制台类型中的
  3. Ext.ComponentQuery.query('datefield')[0].on('specialkey', function(field, e){
    if(e.getKey() === e.DELETE) {
        field.getPicker().hide();
        field.setValue('');
    }
    

    });

  4. 现在在日期字段中打开选择器,键入内容并按删除。两个字段都被清除,选择器被隐藏。