【发布时间】:2020-04-25 09:30:34
【问题描述】:
我有一个这样的对象:
enum FeatureNames = {
featureA = 'featureA',
featureB = 'featureB',
featureC = 'featureC'
}
interface FeatureDetails {
on: boolean;
}
type Features = Record<FeatureNames,FeatureDetails>;
const myObj: Features = {
[FeatureNames.featureA]: {
on: true
},
[FeatureNames.featureB]: {
on: false
},
[FeatureNames.featureC]: {
on: false
}
}
如何更新myObj 的每个成员的值,使on 的值为真?
如果没有 typescript,我只会使用 reduce,但是当我尝试这样做时会出现过载错误。
这是错误:
元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引类型“记录”。 在“记录”类型上找不到带有“字符串”类型参数的索引签名.ts(7053)
【问题讨论】:
-
考虑编辑您的代码以构成minimal reproducible example,如How to Ask 所述。
FeatureNames是什么?FeatureDetails是什么?您看到什么具体错误以及在什么代码中?
标签: typescript