Vuejs2 单击事件时选择了错误的项目
我有一个可以通过按钮从页面中删除的附件列表(请参见图片附件) 但是,删除顺序不正确。有时,当您单击按钮时,会删除另一个附件,而不是您认为已单击的附件 发生了什么事?有人知道我怎么修理吗 完整的演示代码如下: EditPost.vue:Vuejs2 单击事件时选择了错误的项目,vuejs2,Vuejs2,我有一个可以通过按钮从页面中删除的附件列表(请参见图片附件) 但是,删除顺序不正确。有时,当您单击按钮时,会删除另一个附件,而不是您认为已单击的附件 发生了什么事?有人知道我怎么修理吗 完整的演示代码如下: EditPost.vue: 媒体附件 附件文件名中的 删除我! 方法:{ removeAttachmentItemEvent(项目){ 此.attachmentsToDelete.push(项目); 此.$emit(“removeMediaAttachment”,项目); }, }
媒体附件
附件文件名中的-
删除我!
方法:{
removeAttachmentItemEvent(项目){
此.attachmentsToDelete.push(项目);
此.$emit(“removeMediaAttachment”,项目);
},
}
PostDetail.vue:
数据(){
返回{
职位:{},
附件A:[],
附件删除:[]
};
},
...
方法:{
removeMediaItem(项目){
本附件为射线附件拼接件(第1项);
},
}
在removeMediaItem发出的事件方法中传递索引。
Array.prototype.splice()
接受索引作为第一个参数。您正在传递一个数组items@Phil:您有代码示例吗?谢谢你。Tranks,不幸的是我仍然遇到同样的问题:RemoveAttachmentEvent(item,index){this.attachmentsToDelete.push(item);this.$emit(“removeMediaAttachment,index);},更新你的API部件,它仍然不起作用。我一定是做错了什么。你能形成代码并给我发一个链接吗?谢谢
<li>Media Attachments
<ul v-if="attachmentsFileNames && attachmentsFileNames.length">
<li v-for="(attachmentFileName, index) in attachmentsFileNames" :key="index">
<a :href="'will-be-download-Attachment-Api-Url/' + attachmentsArray.attachments[index]">
{{ attachmentFileName }}
</a>
<button @click.prevent="removeAttachmentItemEvent(attachmentsArray.attachments[index])">Delete me!</button>
</li>
</ul>
</li>
methods: {
removeAttachmentItemEvent(item) {
this.attachmentsToDelete.push(item);
this.$emit("removeMediaAttachment", item);
},
}
<section v-if="editPostFormIsVis">
<EditPost
:post="post"
@update="postUpdated"
@cancel="cancelEdit"
:attachmentsArray="attachmentsArray"
@removeMediaAttachment="removeMediaItem"
/>
</section>
data() {
return {
post: {},
attachmentsArray: [],
attachmentsToDelete: []
};
},
...
methods: {
removeMediaItem(item) {
this.attachmentsArray.attachments.splice(item, 1);
},
}
removeMediaItem(index) {
this.attachmentsArray.attachments.splice(index, 1);
},