以上代码 this.data.upload.config.elem 报undefined
时间: 2023-10-06 21:06:01 浏览: 78
如果 `this.data.upload.config.elem` 报 `undefined` 错误,可能是因为上传组件实例未正确初始化。在重新加载上传组件参数之前,请确保上传组件实例已正确初始化。您可以添加一个判断语句来检查上传组件实例是否存在,如果不存在,则创建一个新的上传组件实例。
代码示例:
```javascript
if (this.data.upload && this.data.upload.config && this.data.upload.config.elem) {
this.data.upload.config.elem.next().find("input").removeAttr("disabled"); //启用上传按钮
this.data.upload.config.elem.next().find("input").val(""); //清空文件选择框的值
this.data.upload.config.elem.next().find(".layui-upload-file").remove(); //移除已选择的文件
this.data.upload.config.elem.next().find(".layui-upload-choose").show(); //显示上传按钮
this.data.upload.config.elem.next().find(".layui-upload-loading").hide(); //隐藏上传中的加载动画
this.data.upload.config.elem.next().find(".layui-progress").addClass("layui-hide"); //隐藏进度条
this.data.upload.config.elem.next().find(".layui-progress").find(".layui-progress-bar").css("width", "0%"); //重置进度条宽度
this.data.upload.config.elem.next().find(".layui-progress").find(".layui-progress-text").text(""); //重置进度条文本
this.data.upload.config.elem.next().find(".layui-upload-file").unbind(); //移除已选择的文件绑定事件
this.data.upload.config = unload;
this.data.upload.reload(unload);
} else {
this.data.upload = upload.render(unload);
}
```
在这个示例中,我们添加了一个新的检查语句 `this.data.upload && this.data.upload.config && this.data.upload.config.elem` 来确保上传组件实例已正确初始化。如果上传组件实例不存在或未正确初始化,则创建一个新的上传组件实例。
阅读全文