dojo 如何显示FileReader加载进度或加载图标?

zsohkypk  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(195)

我有一个文件上传控件,读取TXT文件和文件内容加载editBox。代码吹工程的文件上传控件的onChange事件很好。但它我想显示加载gif图标或沙漏图标,而它正在加载一个大的数据。例如,如果我试图加载约130 K行的3 Mb文件,它需要几秒钟才能出现在inputUsers编辑框,然后仍然加载数据。而此时用户可以点击其他控件或关闭页面。那么当我调用reader.readAsText(file)时,如何显示加载图标呢????

var fileUploadControl = dojo.query("[id$=':fileUploadControl']")[0];
var file = fileUploadControl.files[0];

var reader = new FileReader();
reader.onload = function(e) {
    dojo.query("[id$=':inputUsers']")[0].value = reader.result;
}
reader.readAsText(file);

注意:当你复制/粘贴一个很大的文本到多行editBox时,同样的情况也会发生。我需要在列表加载时显示一些东西

w46czmvw

w46czmvw1#

试试这个代码

reader.onloadstart = function(event) {
    ShowLoadingBar();
};
reader.onprogress = function(event) {
    if (event.lengthComputable) {
        if (LoadingBarVisible)
            ShowLoadingBar();
        AddProgress();
    }
};
reader.onloadend = function(event) {
    LoadingBarComplete();
};

相关问题