1

我有一个自定义的角度文件上传组件,我想使用Angular CDK 拖放。它看起来不错,但是当我尝试实现它来处理文件上传(将文件拖到 dropzone 中)它似乎不起作用并且浏览器在新选项卡中打开文件。

我现在拥有的看起来像这样:

<label cdkDropList (cdkDropListDropped)="handleFileDrop($event)">
    <span>Drop file here</span>
    <input #fileInput type="file" multiple="false" (change)="addFiles(fileInput.files">
</label>

所以我的问题是,我可以使用 Angular CDK 拖放库进行文件上传吗?如果可以,我在这里缺少什么?

4

1 回答 1

6

据我所知,你不能。

拖放文件会触发与拖放标记有 CDK指令的元素不同的事件(即DragEvent )。CdkDrag

因此,您必须参考旧的dragenter//事件并手动处理逻辑(即从事件的 dataTransfer 属性中添加文件,可能在 dragenter dragleave/ dropdragleave 期间更改样式等)。

于 2021-03-25T09:56:43.790 回答