Typescript 材质UI网格-类型脚本网格动态间距警告

Typescript 材质UI网格-类型脚本网格动态间距警告,typescript,material-ui,Typescript,Material Ui,Typescript给我一个关于间距值的错误: TS2322:类型“number”不能分配给类型“boolean | 7 | 2 | 10 | 1 | 3 | 4 | 5 | 6 | 8 |“auto”| 9 | 11 | 12”。 未发现任何lint错误 版本:typescript 3.5.2,tslint 5.14.0 迭代一个数组并设置一个xl,lg。。依此类推 {row.map(resumeItem=> ... )} 当然space属性是一个数字 您收到此typescript错误的

Typescript给我一个关于间距值的错误:

TS2322:类型“number”不能分配给类型“boolean | 7 | 2 | 10 | 1 | 3 | 4 | 5 | 6 | 8 |“auto”| 9 | 11 | 12”。
未发现任何lint错误
版本:typescript 3.5.2,tslint 5.14.0
迭代一个数组并设置一个
xl,lg。。依此类推


{row.map(resumeItem=>
...
)}

当然
space
属性是一个数字

您收到此typescript错误的原因是您的
空格
属性允许任何数字,但
xl
属性只允许数字的子集(特别是任何整数1-12)。例如,您可以将数字“17.2”分配给
空格
,这是一个完全可以接受的值,但分配给
xl
则不是一个可以接受的值

解决此问题的最佳方法是将
空格
数字
类型定义更改为类似
xl
道具的类型定义,即

space: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
当然,这可能会产生一些上游影响,具体取决于您如何为其赋值

您也可以按照评论者的建议,将
空格
转换为
任意
。。。请注意,这实际上是在禁用此实例的类型检查,您将失去Typescript检测是否将可能不兼容的值传递给
xl
的能力。这是一个只有你才能决定是否值得的权衡。

感谢大家。 如果我尝试使用这种方法:

空格:1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12
这个问题没有解决。如果我使用的是一个hoc接口也不起作用,那么目前我使用的是
any
方法


谢谢大家!

尝试
xl={resumeItem.space as any}
xl={resumeItem.space as 7}