Vue.js Vue2 Dropzone:如何使用removeFile(文件)?

Vue.js Vue2 Dropzone:如何使用removeFile(文件)?,vue.js,vue2-dropzone,Vue.js,Vue2 Dropzone,我使用vue2Dropzone创建了一个自定义Dropzone: <drop-zone :options="MydropzoneOptions" :include-styling="false" @vdropzone-success="UploadSuccess" @removeUpload="removeFile" id="MyDropzoneID" ref="MyDropzone" :useCustomSlot=true> <div class="dropz

我使用vue2Dropzone创建了一个自定义Dropzone:

<drop-zone :options="MydropzoneOptions" :include-styling="false" @vdropzone-success="UploadSuccess" @removeUpload="removeFile" id="MyDropzoneID" ref="MyDropzone" :useCustomSlot=true>
        <div class="dropzone-custom-content">
            <h3>Upload Here</h3>
        </div>
</drop-zone>
但是结果是控制台说“this.$refs.Mydropzone是未定义的,这现在是有意义的,因为只有DOM对象可以传递所需的文件信息。 因此,我决定尝试您在开始时看到的版本:

<div><a[..] @click="$emit('removeUpload')></a></div>

您必须传递要删除的文件

因此,您可以将单击处理程序设置为
@click=“removeThisFile(UploadFile)”
,然后
removeThisFile
需要变成:

    removeThisFile: function(thisFile){
        this.$refs.MyDropzone.removeFile(thisFile)
        console.log("File removed!")
    }

我不确定您是否只想使用自己的函数删除文件,但您可以在
选项中设置
道具键
addRemoveLinks
true
,如dropzone中所述

在您的情况下,您将有如下内容:

MydropzoneOptions: {
  url: "...",
  addRemoveLinks: true
}

您的文件将在缩略图上显示一个删除文件链接,看起来不错,现在控制台显示“文件已删除!”!“没有错误,我想就是这样。谢谢你@Delena。
   <drop-zone [..] @removeUpload="removeThisFile" [..]></drop-zone>
    removeThisFile: function(thisFile){
        this.$refs.MyDropzone.removeFile(thisFile)
        console.log("File removed!")
    }
MydropzoneOptions: {
  url: "...",
  addRemoveLinks: true
}