【发布时间】:2020-01-24 06:13:13
【问题描述】:
实际上,我想从列表中删除数据。但是这段代码有一点问题。
组件代码
removeSelectedRows(){
console.log(this.selection.selected.map(item => item.userId))
const selectedRowIds = this.selection.selected.map(item => item.userId);
console.log(selectedRowIds)
this.UserService.deleteUser(selectedRowIds).subscribe(res =>{
this.dataSource.data = this.dataSource.data.filter(data => data.userId !== selectedRowIds);
}, err =>{
console.error(err);
}, ()=>{
// this.clearUserForm();
this.loadUsers(this.pageIndex);
});
}
错误来自这部分this.UserService.deleteUser(selectedRowIds).subscribe(res =>{
this.dataSource.data = this.dataSource.data.filter(data => data.userId !== selectedRowIds)。
selectRowIds错误出来
'string[]' 类型的参数不能分配给'string' 类型的参数
【问题讨论】:
-
看起来
selectedRowIds是一个 string[] 并且您正试图将它与一个 string 进行比较。 -
感谢您的评论...我已经这样写了
const selectedRowIds: string[] = this.selection.selected.map(item => item.agentId);,但它不起作用 -
这仍然行不通,因为
filter(...)中出现了错误 -
就像 Nicholas K 所说,问题在于您将字符串数组与单个字符串进行比较。因此,尝试将 string[] = this.selection.selected.map(item => item.agentId); 更改为 string[] = this.selection.selected.map(item => item.agentId)[0]
-
你能给出正确答案吗?让我容易理解
标签: angular typescript