angular - 如何在Angular中一次删除所有选定的行?
问题描述
我想编写一个函数来一次删除所有选定的 Id。
我有一个删除一个 ID 的删除功能onDeleteHandler(id: number)
onDeleteHandler(id: number) {
if (!confirm('Are you sure?')) {
return;
}
this.service.delete(id).toPromise(); // this works perfectly
}
现在我想用这个函数来删除所有的 Ids 函数。
deleteMultiSelected() {
const idArr = this.selectedItems.map(i => i.id); // this is something like [id1, id2, id3]
// NEED A CODE FOR DELETE ALL AT ONCE using onDeleteHandler(id: number) method
}
我怎样才能做到这一点?
我必须使用此onDeleteHandler(id: number)
方法删除所有选定的 ID
解决方案
您可以使用forkJoin
同时拨打多个电话。因此,将您的项目数组映射到可观察的数组,然后像这样 forkJoin:
deleteMultiSelected() {
const deletes = this.selectedItems.map(item => this.service.delete(item.id));
forkJoin(deletes).subscribe();
}
推荐阅读
- c# - 逐行发送,不重复
- python - Windows OS下Nodejs运行python脚本
- javascript - 如何将 MapQuest RouteLayer 添加到传单图层
- apache-camel - 我想通过camel-context.xml配置2个消息队列,所以我需要基于条件的路由
- java - Java:向while循环添加用户输入
- azure - 禁用 Azure Active Directory 单一注销
- reactjs - 从输入中下载带有 URL 的图像并将其发布以使用其他字段表示后端?
- c# - Should i avoid using invoke?
- sql - 雪花中的多轴问题
- python - 如何从列表中获取确切值?