相关疑难解决方法(0)

使用带有联合类型签名的索引类型的意外行为

我有一个数据结构,其中一个键允许一组动态值。我知道这些值的潜在类型,但我无法在 Typescript 中表达。

interface KnownDynamicType {
    propA: boolean;
}

interface OtherKnownDynamicType {
    propB: number;
}

// I want to allow dynamic to accept either KnownDynamicType, OtherKnownDynamicType or a string as a value
interface DataModel {
    name: string;
    dynamic: {[key: string]: KnownDynamicType | OtherKnownDynamicType | string};
}

const data: DataModel = { // Set up some values
    name: 'My Data Model',
    dynamic: {
        someKnownType: {
            propA: true
        },
        someOtherKnownType: {
            propB: 1
        },
        someField1: 'foo',
        someField2: 'bar'
    }
}

data.dynamic.foo = …
Run Code Online (Sandbox Code Playgroud)

types typescript

1
推荐指数
1
解决办法
214
查看次数

标签 统计

types ×1

typescript ×1