easysoft / zui

ZUI is an HTML5 front UI framework.
https://openzui.com
MIT License
2.71k stars 690 forks source link

使用上传组件中的destroy()方法 ,console日志显示'getShim' of null 的提示。请问我应该如何正确销毁上传组件对象? #187

Closed YuanjianZhang closed 3 years ago

YuanjianZhang commented 3 years ago

报错提示:
image

这是代码

        function InitUploader() {
            $("#tbAvatarUrl").val("");//重置头像地址
            var uploader = $('#tbAvatar').data('zui.uploader');
            if (uploader) {
                RemoveAvatarFile();
                uploader.destroy();
            }
            var array = [];
            var options = GetUploaderOptions(array,"add");
            $('#tbAvatar').uploader(options);
        }
        //移除所有待上传队列中的文件 和静态文件
        function RemoveAvatarFile() {
            //待上传队列中的文件
            var uploader = $('#tbAvatar').data('zui.uploader');
            $.each(uploader.getFiles(), function (index, file) {
                uploader.removeFile(file);
            });
            //静态文件
            var staticfiles = $('#tbAvatar').find('.file-static');
            if (staticfiles.length>0) {
                $.each(staticfiles, function (index, file) {
                    uploader.removeFile($(file).data('file'));
                });
            }
        }
YuanjianZhang commented 3 years ago

为了实现的效果是在每次打开对话框model时,重置文件上传列表。或者加载已存在于服务器中的静态文件。希望大佬能指点一二

YuanjianZhang commented 3 years ago

是plupload的问题,现在还未解决: https://github.com/moxiecode/plupload/issues/1510