reactjs - 文件上传后如何清除 React Dropzone 组件中的 Dropzone?
问题描述
我需要在文件上传后销毁 dropzone 组件,无法让 dropzone 对象应用 dropzone.destroy() 方法。
解决方案
要清除 dropzone,我们需要获取 dropzone 对象并使用 dropzone.destroy() 方法。我们需要首先在整个组件之外初始化一个变量,如下所示:
var myDropzone;
要获取 dropzone 对象,我们需要使用 dropzone 的 init 事件,它为我们提供了 dropzone 对象,如下所示:
initCallback (dropzone) {
myDropzone = dropzone;
console.log("dropzone"+myDropzone);
}
const eventHandlers = {
addedfile: this.onDrop.bind(this),
removedfile: this.removeFile.bind(this),
init: this.initCallback.bind(this)
}
然后我们可以在上传完成后调用 dropzone.destroy() 方法,如下所示:
myDropzone.destroy();
它会将我们的文件数组重置为 [] 并从视图中删除文件。
推荐阅读
- rust - 如何在特征中使用枚举并在枚举中的结构上实现特征?锈
- php - PHP PDO 更新查询不起作用但没有错误
- react-native - App.js 未在 Expo 中呈现(React Native)
- git - 使用 git diff 时,这个“s”命令是什么,如何取消它?
- syntax - 如何在没有伴随装箱(即逐项)的情况下将值分配给哈希键?
- node.js - 运行 start-kuzzle-server 失败并出现错误
- docker - 让 docker-compose 使用多阶段构建的缓存?
- angular - Angular - 将多个连续的 API 调用合并为一个结果
- google-apps-script - 如何接收由应用程序脚本中的函数返回到 JavaScript 的数组?
- javascript - 为什么当我将值重新分配给函数内的变量时,变量变为未定义并且出现类型错误?