javascript - 根据 id 删除特定对象,但它从 json 中删除所有对象
问题描述
嗨,我正在创建一个简单的员工 crud 应用程序,我可以在其中删除单个员工。但是当我删除任何员工时,它会删除 db.json 中的所有员工并使其为空。
基本上 DELETE 调用会删除所有条目
组件.html
<tr *ngFor="let employee of employees; let i = index">
<th scope="row">{{ i + 1 }}</th>
<td>{{employee.employeeId}}</td>
<td>{{ employee.address }}</td>
<button type="button" style="margin-left:10px" class="btn btn-danger" (click)="deleteEmployee(employee.id)">Delete</button></td>
</tr>
组件.ts
deleteEmployee(employeeId:number){
this.employeesDataService.deleteEmployee(employeeId).subscribe(data => {
console.log("data", data);//Getting blank object in risponse
let newEmployees = this.employees.filter(data => data.id !== employeeId);
this.employees = newEmployees;
console.log(this.employees);
})
}
服务
deleteEmployee(id:number){
return this.http.delete(`${this.baseUrl}/${id}`)
}
db.json
{
"employees": [
{
"id": 1,
"employeeId": "HCL1",
"name": "Mark",
"age": 24,
"email": "mark@gmail.com",
"mobile": "455463242",
"address": "abx, near abc, India"
},
{
"id": 21,
"employeeId": "HCL21",
"name": "Jack",
"age": 21,
"email": "jack@gmail.com",
"mobile": "455463242",
"address": "xyz, near abc, India"
}
}
]
}
解决方案
您正在删除基于员工,employeeId
因此更改data.id
为data.employeeId
let newEmployees = this.employees.filter(data => data.employeeId !== employeeId);
推荐阅读
- r - 如何在ggplot2中使用“grid.arrange”在特定位置留下没有图形的间隙
- electron - 电子应用程序 - 如何打印当前页面
- javascript - 如何将 webpack 插件添加到 react-rewired
- spring-boot - 是否有与 spring-data-jpa 一起使用的新 @Type 注释?
- crystal-reports - Crystal Report 更改数据源位置会从报表和参数中删除字段
- css - 在 12 列 CSS 网格中居中网格项
- swift - 从 Helper 类调用 PopUp 对话框中的“Present”?
- android - Dagger 2 Qualifier 在 Android 模块上的 Kotlin 中不起作用
- c# - ASP.Net Core 使用列表模型项填充下拉列表
- java - 在 Java + InputMisMatch 错误中将 +1 添加到 Int next.Int 值