layui 2.8将 upload.render()实例销毁
时间: 2023-12-01 16:03:14 浏览: 35
你可以使用uploadInst.destroy()方法来销毁upload.render()实例,示例如下:
```
var uploadInst = upload.render({
elem: '#test',
url: '/upload/',
done: function(res){
console.log(res)
}
});
// 销毁实例
uploadInst.destroy();
```
相关问题
layui 2.8将 upload.render()实例销毁。没有destroy函数
很抱歉,我之前的回答有误。在layui 2.8中,upload.render()实例可以通过uploadInst.config.elem.next().find("input[type='file']").off('change')来销毁。
示例代码如下:
```
var uploadInst = upload.render({
elem: '#test',
url: '/upload/',
done: function(res){
console.log(res)
}
});
// 销毁实例
uploadInst.config.elem.next().find("input[type='file']").off('change');
```
这里是通过jquery的off()方法来移除input[type='file']的change事件,从而达到销毁upload.render()实例的目的。
layui 2.8 layui.upload.render(...).removeFile is not a function
在 layui 2.x 版本中,`layui.upload.render()` 返回的是一个 Upload 实例,所以可以直接调用它的 `remove()` 方法来删除实例。示例如下:
```javascript
// 先获取实例对象
var uploadInst = layui.upload.render({
elem: '#test',
url: '/upload/',
done: function(res) {
console.log(res);
}
});
// 调用实例对象的 remove 方法来删除实例
uploadInst.remove();
```
如果你想在删除实例之后重新初始化,可以再次调用 `layui.upload.render()` 来初始化。需要注意的是,如果你不在意上传组件的实例对象,也可以使用 `layui.upload()` 来进行初始化。示例如下:
```javascript
// 先删除之前的实例
var uploadInst = layui.upload.render({
elem: '#test',
url: '/upload/',
done: function(res) {
console.log(res);
}
}).remove();
// 再进行新的初始化
layui.upload.render({
elem: '#test',
url: '/upload/',
done: function(res) {
console.log(res);
}
});
```
这样就可以避免重复初始化的问题了。