我的应用程序中有一个文件域组件,我想将其限制为仅图像文件。我在stackoverflow上发现了这个问题:
How to restrict file type using xtype filefield(extjs 4.1.0)?
Add accept="image/*" attribute to input field in ExtJs
我正在使用此代码:
{
xtype:'filefield',
listeners:{
afterrender:function(cmp){
cmp.fileInputEl.set({
accept:'audio/*'
});
}
}
}
但是这段代码只在我第一次点击"检查"按钮,当我再次点击它时,限制消失了。我一直在寻找其他活动,例如onclick
来编写此代码,但我找不到最好的方法,任何人都有任何想法?
问候。
答案 0 :(得分:0)
这种情况正在发生,因为当您提交表单时,它会调用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/*'
});
}
}
}