【发布时间】:2020-12-27 16:38:56
【问题描述】:
让我们有以下类型示例,我希望能够定义我的自定义对象,其中键是标志名称,值是标志主体。
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
}>
查看CustomFlagsModel 可以看到我需要将FlagModel 显式定义为一个值。有可能避免这种情况吗?比如像:
type CustomFlagsModel = GenericFlagsModel<{
[FLAG_NAMES.FLAG_FOO],
[FLAG_NAMES.FLAG_BAR]
}>
【问题讨论】:
标签: typescript typescript-generics