【发布时间】:2018-01-11 10:19:19
【问题描述】:
我正在使用vue2-dropzone,它公开了events 的列表,例如当文件传输完成时。
在我的 SFC(单文件组件)中,我使用其中 2 个 dropzone 组件来区分不同的上传。我使用事件
vdropzone-upload-progress(file, progress, bytesSent)
在放置区之外分别显示每个放置区的进度。
<vue-dropzone @vdropzone-upload-progress="progress($event, 'from_dz1')" ref="myVueDropzone" id="dz1" :options="dropzoneOptions"></vue-dropzone>
<vue-dropzone @vdropzone-upload-progress="progress($event, 'from_dz2')" ref="myVueDropzone" id="dz2" :options="dropzoneOptions"></vue-dropzone>
当我这样做时,在我的progress 方法中,我只能获取file 对象和我的自定义参数from_dz1 和from_dz2,因为它匹配原始的第一个位置。
无论如何我可以做到@vdropzone-upload-progress="progress(file, progress, bytesSent, 'from_dz1')" 并且在我的progress 方法中,我可以
progress: function (file, progress, bytesSent, origin) {
console.log(file.name, 'from', origin, progress, '% done')
}
并且能够获取所有 4 个参数?
我想到的一种解决方法是使用 3 种方法,progress、progress1 和 progress2,progress1 和 2 都会使用附加的“from_dz1”字符串调用progress,但这似乎不是一个可扩展的想法。如果我使用了 1 个以上的事件,我最终会得到更多的方法,同样,如果我有更多的 dropzone,我最终会得到更多的方法。
【问题讨论】:
标签: vue.js vuejs2 vue-component dropzone.js