You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

递归类型中动态属性与显式声明属性冲突的问题咨询

递归类型中动态属性与显式声明属性冲突的问题咨询

大家好,我在TypeScript里定义了一个递归类型,其中name和subRows是特定类型,其他所有属性都要求是数字或者null,类型声明如下:

type Row = {
  name: string
  subRows: Row[]
} & {
  [key: string]: number | null
}

这个类型在只有第一层级的时候用着完全没问题,但一旦嵌套到第二层级就会抛出TS错误(错误码2322),比如我写下面这段代码的时候,subRows里的对象就会报错:

const a: Row[] = [{
  name: 'aaa',
  a: 1,
  b: 2,
  subRows: [
    { /* 这里触发TS Error 2322 */ }
  ]
}]

有没有大佬能帮忙看看这是怎么回事,该怎么解决这个问题呀?

备注:内容来源于stack exchange,提问作者skyboyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 16:49:51