【发布时间】:2020-03-11 20:50:59
【问题描述】:
非常简单。试图显示多个文件,但只有一个会显示,因为数组中总是只有一个。添加另一个文件时,在它被覆盖之前上传的文件。 this.files 始终只是一个文件,并且不会添加。我怎样才能添加到文件中,而不是总是覆盖?任何帮助或方向将不胜感激。
<v-file-input
v-model="files"
small-chips
show-size
multiple
clearable
>
<template v-slot:selection="{ text, index, file }">
<v-chip
small
text-color="white"
color="#295671"
close
@click:close="remove(index)"
>
{{ text }}
</v-chip>
</template>
</v-file-input>
<script>
export default {
data: () => ({
files: []
}),
methods: {
remove (index) {
this.files.splice(index, 1)
}
}
}
</script>
工作示例:https://codepen.io/jhernandez_dev/pen/YzzRxMq?&editable=true&editors=101#anon-signup
【问题讨论】:
-
让我问你一个小问题,你想选择、显示和上传多个文件吗?
-
如果您要上传多个文件,那么
this.files应该是一个包含多个文件对象列表的数组。选择并上传多个文件后,您是否在 Vue Devtools 中检查了this.files? -
@GurkiratSingh 我希望能够上传多个,显示芯片。我已经有删除的能力,所以这很好。只是在 this.files 中有多个文件时遇到问题。添加其他文件时它总是被覆盖
-
@Angelo 是的,我有。每当我上传文件时,this.files 都会被覆盖,而不是向数组中添加另一个文件。当我 console.log this.files onChange 它总是显示最近添加的,但从不显示任何预先添加的。
-
在帖子中添加了 codepen 示例以查看我所看到的确切内容
标签: vue.js vuetify.js