在vue2-dropzone事件中添加自定义参数

时间:2018-01-11 10:19:20

标签: vue.js vuejs2 vue-component dropzone.js

我使用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_dz1from_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,我将会得到更多的方法。

1 个答案:

答案 0 :(得分:1)

你应该能够做到

<vue-dropzone @vdropzone-upload-progress="(file, progress, bytesSent) => progress(file, progress, bytesSent, 'from_dz1')" ref="myVueDropzone" id="dz1" :options="dropzoneOptions"></vue-dropzone>