Vuejs2 vue将文件数组项删除为其他项';s文件输入

Vuejs2 vue将文件数组项删除为其他项';s文件输入,vuejs2,Vuejs2,VUE2.x 我有一个文件数组,每个项目都包含一个文件输入以及其他文本输入,用户可以单击+图标添加项目,并且必须上载一个文件或删除一个项目 如下所示: 但是,如果我添加了两个项目,并且每个项目都有一个文件,那么我将删除第一个项目,文件输入(原始的第二个项目)也将被清除,如下所示: 即: Level A a.pdf Level B b.pdf 如果我先删除,那么它将更改为 Level B no file selected 为什么??如何解决 我的vue代码是: <tr v-for

VUE2.x

我有一个文件数组,每个项目都包含一个文件输入以及其他文本输入,用户可以单击+图标添加项目,并且必须上载一个文件或删除一个项目

如下所示:

但是,如果我添加了两个项目,并且每个项目都有一个文件,那么我将删除第一个项目,文件输入(原始的第二个项目)也将被清除,如下所示:

即:

Level A  a.pdf
Level B  b.pdf
如果我先删除,那么它将更改为

Level B no file selected
为什么??如何解决

我的vue代码是:

<tr v-for=" (a, index) in eb.attachmentList" v-bind:key="index">

<td>
<select v-model="a.typeId" required>
<option value="1">Level A</option>
<option value="13">Level B</option>
<option value="8">Level C</option>
</select>
</td>

<td><input type="text" v-model="a.description" /></td>

<td>
<input v-if="!a.eaId" type="file" v-on:change="selectFile(index, $event)" ref="f" required />
<a v-if="a.eaId" href="#" v-on:click="downloadFile(a)">{{a.fileName}}</a>
</td>

<td><i class="far fa-trash-alt fa-lg" v-on:click="delAttachment(a, index)" style="color: red"></i>

</td>

</tr>       

将键设置为索引会在更新数组时出现问题

而是为您的项目生成唯一的id:

var a = {'typeId': '', id: new Date().valueOf() };
然后将键设置为
a.id


工作示例:

太好了,谢谢!但是,如果我使用
索引
作为键,为什么它只会影响文件输入?其他类型,如选择、文本输入,似乎没有受到影响。
var a = {'typeId': '', id: new Date().valueOf() };