【发布时间】:2021-10-21 23:19:12
【问题描述】:
我使用带有 vuejs 的 dropzone 插件,并且来自 dropzone 的响应是一个数组。有效负载具有参数数组、响应和文件对象。每次我调用@vdropzone-success="$emit('processFunction',$event) 时,它都会正确地将请求发送到正确的函数,但只返回有效负载数组的第一个元素。为什么?我附上了 vue 调试器的屏幕截图以帮助说明问题。如何访问 processFunction 中的有效负载以获取数组元素 0 和 1?
添加更多上下文。这是库中向我的子组件发出的函数
this.dropzone.on("success", function(file, response) {
vm.$emit("vdropzone-success", file, response);
});
在我的 vue 代码中,我将此结果发送到我的索引组件:
<vue-dropzone
id="dropzone"
ref="myVueDropzone"
@vdropzone-drop="$emit('loading')"
@vdropzone-success="$emit('loaded',...$event)"
:use-custom-slot="true"
:options="dropzoneOptions"
>
我在这里绑定到我的 index.vue 上的元素:
<Upload @loading="loading" @loaded="loaded" />
然后调用加载的函数
loaded(e) {
console.log(e);
this.notLoading = true;
this.isLoading = false;
},
https://github.com/vuejs/vue/issues/5527 这看起来像一个类似的问题。每当我调用 $event 它只返回 0 这是文件。我希望它返回 1,这是来自服务(对象)的响应。
【问题讨论】:
-
将展开运算符与单个参数一起使用时会发生什么?
-
仍然只返回数组的第一个元素。