打字稿错误:“对象”类型的参数无法分配给“ {} []”类型的参数

TK123

我正在使用Angular Material表组件,如下所示:

    this.userService.getUsers().subscribe((response) => {
        this.users = new MatTableDataSource(response);
    });

它可以工作,但是在编译时会引发以下打字错误:

类型“ Object”的参数不能分配给类型“ {} []”的参数。“对象”类型可分配给很少的其他类型。您的意思是改为使用“ any”类型吗?类型“对象”中缺少属性“包含”。

所以我尝试将其更改为:

this.users = new MatTableDataSource<any>(response);

但是还是一样的错误。response看起来像这样:

[{
    userId: 123,
    username: 'Tom'
}, {
    userId: 456,
    username: 'Joe'
}]

任何想法如何摆脱错误?

编辑

应该提到我是否这样做:

this.users = new MatTableDataSource([response]);

错误消失了,但是表格却无法正常工作,因为格式不是表格所期望的正确格式。只是注意这一点,以防它弄清楚可能是什么原因...

乔纳斯·威尔姆斯

类型“ Object”的参数不能分配给类型“ {} []”的参数。

这并不意味着MatTableDataSource接受错误的参数,而是您response的类型有误。您应该明确地进行类型转换:

  (response: {userId: number, username: string }[]) =>

或通过时执行以下操作:

 new MatTableDataSource(response as {userId: number, username: string }[])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

打字稿错误“无法将类型参数分配给类型参数”

打字稿中的“无法分配给永不类型的参数”错误是什么?

React Component上的打字稿错误:无法将'Element'类型的参数分配给该类型的参数

打字稿错误:无法将类型'number'的参数分配给'Expected <Promise <number >>'类型的参数

打字稿:无法分配给类型错误

“无法分配给类型的参数”对象文字错误

类型错误:无法分配给打字稿中对象“[object Array]”的只读属性“0”

打字稿中的类型问题:类型参数不可分配给类型参数

减少数组功能的打字稿错误-无法将“字符串”分配给类型的参数

打字稿:“不可分配给从不类型的参数”错误

打字稿错误TS2345错误:TS2345:“缓冲区”类型的参数无法分配给“字符串”类型的参数

打字稿键盘事件:“事件”类型的参数不能分配给“键盘事件”类型的参数

类型“ any”的参数不能分配给“从不”类型的参数打字稿解决方案

D3,打字稿-类型'this'的参数不能分配给类型'BaseType'的参数

打字稿-类型“ X”的参数不能分配给类型“ Y”的参数

打字稿错误:它不可分配给类型的参数(相同类型不同文件夹)

打字稿-指定类型的对象无法分配给通用类型

打字稿错误:无法将“数字”类型分配给“从不”类型

打字稿错误:“ undefined []”类型无法分配给“ void”类型

打字稿错误:类型Observable <Object>无法分配给类型

参数类型“对象?” 不能分配给参数类型“颜色”

参数类型“对象?” 不能分配给参数类型“num”

参数类型“对象?” 不能分配给参数类型 List

参数类型“对象?” 不能分配给参数类型“EditProfileScreenArgs?

“ ThunkAction”类型的参数无法分配给“ AnyAction”类型的参数

无法将参数类型“ ”分配给参数类型列表 <>

无法将参数类型“字符串”分配给参数类型“对象?函数(对象?,对象?)?

读取 Firestore 集合时出现错误“无法将参数类型‘对象’分配给参数类型‘字符串’”

打字稿中这种复杂的“无法分配给类型”错误的解释