我使用vue2-dropzone公开了events的列表。对于文件传输完成的时间。
在我的SFC(单个文件组件)中,我使用其中两个dropzone组件来区分不同的上传。我用事件
vdropzone-upload-progress(file, progress, bytesSent)
在dropzone外单独显示每个dropzone的进度。
<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个方法,进度,进度1和进度2,其中progress1和2将使用附加的&#39; from_dz1&#39;来调用进度。字符串,但它似乎不是一个可扩展的想法。如果我使用了超过1个事件,我会得到更多的方法,同样如果我有更多的dropzones,我将会得到更多的方法。
答案 0 :(得分:1)
你应该能够做到
<vue-dropzone @vdropzone-upload-progress="(file, progress, bytesSent) => progress(file, progress, bytesSent, 'from_dz1')" ref="myVueDropzone" id="dz1" :options="dropzoneOptions"></vue-dropzone>