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
Javascript Extjs 6.2.0现代文件字段作为按钮_Javascript_Extjs_Extjs6 Modern_Extjs6.2 - Fatal编程技术网

Javascript Extjs 6.2.0现代文件字段作为按钮

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

我正在尝试创建一个文件字段,作为带有图标的按钮。在文档中,现代6.2.0似乎不支持这一点。有办法吗

链接到文档:

似乎也没有办法更改默认按钮中的文本或其附带的文本

这是故意的。 文件输入的文本由浏览器定义,开发人员不打算更改。 通常人们通过生成一个显示来解决这个问题:隐藏文件输入和一个通过JS触发文件输入的通用按钮

我担心您将不得不转向ExtJS中的类似措施


这里有一个关于如何更改普通旧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
}

就这样…

(添加文档参考链接以帮助人们更好地理解您)感谢您的提示!