我想删除留言板中的内容,后台写数据库删除操作的时候,需要先获取id,我其他网页都是使用下面的代码获取到那一行的数据库id:
<template slot-scope="scope">
<el-button type="primary" icon="el-icon-edit" size="mini" @click="showEditDialog(scope.row.id)">el-button>
<el-button type="danger" icon="el-icon-delete" size="mini" @click="deleteUser(scope.row.id)">el-button>
template>
但是留言板这么写的时候删除按钮就消失了,请问应该怎么获得id呢?
留言板代码如下:
<el-timeline-item :index="item.id+''" v-for="item in messageList" :key="item.id" :timestamp='item.mtime'
placement="top">
<el-card style="height:160px">
<h4>{{ item.username }}:
<div class="buttons" >
<el-link type="danger" :underline='false' @click="deleteMessage">删除el-link>
div>
h4>
<p> {{ item.messagein }}p>
<p>回复:{{ item.reply }}p>
el-card>
el-timeline-item>
<el-link type="danger" :underline='false' @click="deleteMessage">删除
上面这行代码中,你的这个删除函数没有传要被删除的留言id吧?
你这样改一下试试,然后再加一个删除的函数
<el-link type="danger" :underline='false' @click="deleteMessage(item.id)">删除</el-link>
新增的函数
deleteMessage(id) {
// 调用后台的删除接口,传递要删除的留言的 id
axios.delete('/api/messages/' + id)
.then(response => {
// 删除成功后,从留言列表中移除被删除的留言
this.messageList = this.messageList.filter(item => item.id !== id)
})
.catch(error => {
console.log(error)
})
}
如果以上回答对您有所帮助,望采纳~谢谢
你不是用的v-for么,直接用循环出来的id不就行了