【问题标题】:Adding custom parameter in vue2-dropzone event在 vue2-dropzone 事件中添加自定义参数
【发布时间】: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_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 种方法,progress、progress1 和 progress2,progress1 和 2 都会使用附加的“from_dz1”字符串调用progress,但这似乎不是一个可扩展的想法。如果我使用了 1 个以上的事件,我最终会得到更多的方法,同样,如果我有更多的 dropzone,我最终会得到更多的方法。

【问题讨论】:

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


    【解决方案1】:

    你应该可以的

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

    【讨论】:

    • 谢谢团。有效。唯一让我感到困惑的部分是将方法命名为progress,它不起作用,因为其中一个参数也被命名为progress。重命名为show_progress,它运行完美。这算在内联处理程序中调用show_progress 方法吗?
    • @celerius 我不太明白你的问题。你能改写一下吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-08
    • 1970-01-01
    • 2021-01-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多