Javascript Extjs 6.2.0现代文件字段作为按钮
我正在尝试创建一个文件字段,作为带有图标的按钮。在文档中,现代6.2.0似乎不支持这一点。有办法吗 链接到文档: 似乎也没有办法更改默认按钮中的文本或其附带的文本 这是故意的。 文件输入的文本由浏览器定义,开发人员不打算更改。 通常人们通过生成一个显示来解决这个问题:隐藏文件输入和一个通过JS触发文件输入的通用按钮 我担心您将不得不转向ExtJS中的类似措施Javascript Extjs 6.2.0现代文件字段作为按钮,javascript,extjs,extjs6-modern,extjs6.2,Javascript,Extjs,Extjs6 Modern,Extjs6.2,我正在尝试创建一个文件字段,作为带有图标的按钮。在文档中,现代6.2.0似乎不支持这一点。有办法吗 链接到文档: 似乎也没有办法更改默认按钮中的文本或其附带的文本 这是故意的。 文件输入的文本由浏览器定义,开发人员不打算更改。 通常人们通过生成一个显示来解决这个问题:隐藏文件输入和一个通过JS触发文件输入的通用按钮 我担心您将不得不转向ExtJS中的类似措施 这里有一个关于如何更改普通旧HTML文件输入元素的标签的讨论供参考:有一个很好的解决方案: { xtype : 'butt
这里有一个关于如何更改普通旧HTML文件输入元素的标签的讨论供参考:有一个很好的解决方案:
{
xtype : 'button',
text : 'add a file',
handler : 'onAddFile'
},
然后在控制器中:
onAddfile: function() {
var me = this;
var fileupload = Ext.create('Ext.form.Panel', {
// renderTo: Ext.getBody(),
title : 'Upload Panel',
height : 0,
width : 0,
items : [ {
xtype : 'filefield',
label : 'any thing',
accept: 'application/zip',//or mediatypes that you want
multiple : false,//or true if you need
controller : me,
listeners : {
change : function(field) {
me.fileSelected(field);
}
}
} ]
});
//this is important to click programmaticallly
fileupload.element.dom.querySelector('.x-button-el').click();
},
fileSelected: function (field) {
let files = field.getFiles();
// now you have the files
}
就这样…(添加文档参考链接以帮助人们更好地理解您)感谢您的提示!