如何解决避免使用泛型定义对象值类型
让我们有以下类型的示例,其中我希望能够定义自定义对象,其中键是标志名,值是标志主体。
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]
}>
解决方法
以下各项符合您的需求吗?
type CustomFlagsModel = GenericFlagsModel<Record<FLAG_NAMES,FlagModel>>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。