let unload = upload.render({ elem: '.fairy-sku-img', bindAction: '#id-upload-skus', auto: false, url: this.options.uploadUrl, exts: 'png|jpg|ico|jpeg|gif', accept: 'images', acceptMime: 'image/*', multiple: true, data: { "form": "商品图片", "module": "商品图片 ", "tagName": "商品图片", "flow": "商品图片" }, choose: function (obj) { }, done: function (res, index, upload) { }, allDone: function (obj) { // 多文件上传完毕后的状态回调 } }; if (this.data.upload) { this.data.upload.reload(unload); } else { this.data.upload = upload.render(unload); })。怎么重载整个实例
时间: 2024-02-10 10:05:49 浏览: 27
要重载整个实例,您可以使用 `reload` 方法来重新加载上传组件的参数。
代码示例:
```javascript
if (this.data.upload) {
this.data.upload.reload(unload);
} else {
this.data.upload = upload.render(unload);
}
```
在这个示例中,如果 `upload` 存在,则使用 `reload` 方法来重新加载上传组件的参数,否则使用 `upload.render` 方法创建一个新的 `upload` 实例。
相关问题
let unload = { elem: '.fairy-sku-img', bindAction: '#id-upload-skus', auto: false, url: this.options.uploadUrl, exts: 'png|jpg|ico|jpeg|gif', accept: 'images', acceptMime: 'image/*', multiple: true, data: { "form": "商品图片", "module": "商品图片 ", "tagName": "商品图片", "flow": "商品图片" }, choose: function (obj) { }, done: function (res, index, upload) { }, allDone: function (obj) { // 多文件上传完毕后的状态回调 } }; if (this.data.upload) { this.data.upload.reload(unload); } else { this.data.upload = upload.render(unload); }重载后选择文件无反应
根据你提供的代码,我看到你使用的是 layui 的上传组件,你的代码中给出的上传组件配置看起来没有问题。
根据你的描述,重载后选择文件无反应,可能有以下几种原因:
1. 组件未正确加载:请确保上传组件已正确加载。可以在控制台中查看是否存在任何错误,或者在 `choose` 函数中添加 `console.log` 等语句,看看是否有输出。
2. 组件参数设置有误:请检查组件的参数设置是否正确。比如 `elem` 是否指定了正确的元素,`bindAction` 是否正确绑定了上传按钮等。
3. 浏览器问题:有时候浏览器可能会禁用上传文件功能,可以尝试清除浏览器缓存或者更换浏览器。
如果以上方法都无法解决问题,建议你提供更多详细信息,这样我才能更好地帮助你。
以上代码 this.data.upload.config.elem 报undefined
如果 `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` 来确保上传组件实例已正确初始化。如果上传组件实例不存在或未正确初始化,则创建一个新的上传组件实例。