Typescript 避免使用泛型定义对象值类型

Typescript 避免使用泛型定义对象值类型,typescript,typescript-generics,Typescript,Typescript Generics,让我们有下面的类型示例,我希望能够定义自定义对象,其中key是flag name,value是flags body interface FlagModel { value: boolean; } interface GenericFlagsModel<T extends Record<string, FlagModel>> { flags: T } enum FLAG_NAMES { FLAG_FOO = 'flag-foo', FLA

让我们有下面的类型示例,我希望能够定义自定义对象,其中key是flag name,value是flags body

interface FlagModel {
    value: boolean;
}

interface GenericFlagsModel<T extends Record<string, FlagModel>> {
    flags: T
}

enum FLAG_NAMES {
    FLAG_FOO = 'flag-foo',
    FLAG_BAR = 'flag-bar'
}


type CustomFlagsModel = GenericFlagsModel<{
    [FLAG_NAMES.FLAG_FOO]: FlagModel,
    [FLAG_NAMES.FLAG_BAR]: FlagModel
}>

以下内容是否符合您的需要

type CustomFlagsModel = GenericFlagsModel<Record<FLAG_NAMES, FlagModel>>
type CustomFlagsModel=GenericFlagsModel

我发现您不需要为此使用或。枚举就足够了<代码>记录
type CustomFlagsModel = GenericFlagsModel<Record<FLAG_NAMES, FlagModel>>