繁体   English   中英

类型“编号”不可分配给类型“PersonConfig”。 ts(2322)

[英]Type 'number' is not assignable to type 'PersonConfig'. ts(2322)

类型“数字”不可分配给类型“PersonConfig”。ts(2322) 预期类型来自此索引签名。

interface Person {
    [Id: string]: PersonConfig
}

interface PersonConfig {
    name: string,
    age: number
}

const people: Person[] = [
    {
      "p1": {
          name: "abcd",
          age: 20
      }
    },
    {
      "p2": {
          name: "efgh",
          age: 78
      }
    }
];

现在我想 append 一些其他字符串到人的键,即(“p1”和“p2”)。

预期解决方案:

const suffix:string = "sub";

const people: Person[] = [
    {
      "p1" + suffix: {
          name: "abcd",
          age: 20
      }
    },
    {
      "p2" + suffix: {
          name: "efgh",
          age: 78
      }
    }
];

这应该有效:

const people: Person[] = [
    {
      ["p1" + suffix]: {
          name: "abcd",
          age: 20
      }
    },
    {
      ["p2" + suffix]: {
          name: "efgh",
          age: 78
      }
    }
];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM