Javascript 接受文件字段ExtJs中的图像

Javascript 接受文件字段ExtJs中的图像,javascript,image,extjs,filefield,Javascript,Image,Extjs,Filefield,我的应用程序中有一个filefield组件,我想将其限制为仅包含图像文件。我在stackoverflow上发现了这个问题: 我正在使用以下代码: { xtype:'filefield', listeners:{ afterrender:function(cmp){ cmp.fileInputEl.set({ accept:'audio/*' }); } } } 但这段代码只在我第一次点击“检查”按钮时有效,当我再次点击它时

我的应用程序中有一个filefield组件,我想将其限制为仅包含图像文件。我在stackoverflow上发现了这个问题:

我正在使用以下代码:

{
  xtype:'filefield',
  listeners:{
    afterrender:function(cmp){
      cmp.fileInputEl.set({
        accept:'audio/*'
      });
    }
  }
}
但这段代码只在我第一次点击“检查”按钮时有效,当我再次点击它时,限制消失了。我一直在寻找类似于
onclick
的其他事件来在该事件中编写此代码,但我没有找到最好的方法,有人知道吗


问候。

发生这种情况是因为当您提交表单时,它调用
Ext.form.field.File#reset()
。 您应该像这样重写reset()方法,以保持接受属性:

{
        xtype:'filefield',
        reset: function () {  
          var me = this,                                                                
            clear = me.clearOnSubmit;
         if (me.rendered) {   
            me.button.reset(clear);
            me.fileInputEl = me.button.fileInputEl;
            me.fileInputEl.set({
               accept: 'audio/*'    
            });
            if (clear) {
               me.inputEl.dom.value = '';
            }
            me.callParent();
        }},
        listeners:{
           afterrender:function(cmp){
              cmp.fileInputEl.set({
                  accept:'audio/*'
              });
           }
        }
}

缺少用于关闭重置方法的
}