Vue使用Element-table实现动态删除某行的操作(在删除后页面中不显示该行)
Vue使用Element-table实现动态删除某行的操作(在删除后页面中不显示该行)
·
需求
点击删除按钮后,在数据库中删除该行并且在当前页面不刷新的情况下不显示该行
问题
在点击删除后,将数据库中按照id删除该行以后,页面在不刷新的情况下还是显示着删除前的数据库中的数据。
解决方法
可以将删除时传入该行row的index,再将展示的数据数组通过splice(index,1)方法截取。
代码实现
mehods部分:
async handleDelete(index, scope) {
await this.$confirm(("您确定要删除当前:" + scope.id + "号产品吗?"), "删除确认", {
distinguishCancelAndClose: true,
confirmButtonText: '删除',
cancelButtonText: '放弃删除'
}).
then(() => {
this.productlist.splice(index, 1);
deleteProduct(scope.id);
this.$message({
type: 'success',
message: "删除成功!"
})
})
.catch(action => {
this.$message({
type: 'warning',
message: action === 'cancel' ? "放弃删除当前产品" : '停留在当前页面'
})
});
标签部分:
<el-button type="danger" icon="el-icon-delete" size="small"
@click="handleDelete(scope.$index, scope.row)">删除</el-button>
更多推荐
已为社区贡献1条内容
所有评论(0)