你好,我有一个 laravel 和 vuejs 的问题,我的问题是,当我尝试从我的商店文件中的帖子中删除帖子时,它总是删除数组的第一个对象,但在数据库中它删除了正确的行
这是我的商店文件
state:
{
posts:[]
},
getters:
{
posts:state=>
{
return state.posts
}
},
mutations:
{
AllPosts:(state,payload)=>{
state.posts=payload;
},
DeletePost:(state,payload)=>{
state.posts.splice(payload,1);
}
},
actions:
{
AllPosts:({commit},payload)=>{
commit("AllPosts",payload)
},
DeletePost:({commit},payload)=>{
commit("DeletePost",payload)
}
}
这是我在 postcontroller 中的销毁函数
public function destroy($id)
{
$post=Post::find($id);
$post->delete();
return response()->json($post,200);
}
这是我的 axios
deletepost(id)
{
axios.delete("/admin/posts/delete/"+id)
.then(res=>
{
this.$store.dispatch("DeletePost",res.data)
console.log(res.data)
})
},
这是代码的html部分
<tr v-for="(post,i) in allposts" :key="post.id">
<td>{{post.id}}</td>
<td>{{post.category}}</td>
<td v-if="post.title.length<30">{{post.title}}</td>
<td v-else>{{ post.title.substring(0,30)+"..." }}</td>
<td v-if="post.shortly.length<30">{{post.shortly}}</td>
<td v-else>{{ post.shortly.substring(0,30)+"..." }}</td>
<td><img height="100px" width="100px" :title=imagealt(i) :src="image(i)" :alt="imagealt(i)"></td>
<td>{{post.created_at}}</td>
<td><button class="delete-btn" @click.prevent="deletepost(post.id)">delete</button></td>
<td><button class="edit-btn" @click.prevent="editpost(post.id)">edit</button></td>
</tr>
我应该怎么做才能删除数组的正确对象?
犯罪嫌疑人X