【发布时间】:2021-03-05 15:23:03
【问题描述】:
我有一个类型Color,
type Color = 'yellow' | 'red' | 'orange'
我有一个接口是ColorSetting的对象。
interface ColorSetting {
id: string
yellow?: boolean
red?: boolean
orange?: boolean
}
我想用Color这个类型来简化接口ColorSetting。
我简化的代码如下:
interface ColorSetting {
id: string
[k in Color]?: boolean
}
但我收到关于A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type. 的错误
如何在接口中正确使用字符串字面量类型?
【问题讨论】:
-
我得到了一个解决方案
type ColorSetting = { id: string } & { [k in Color]?: boolean },这对我很有用。 -
是的,交叉路口是一种方法。也许您应该将其发布为您自己问题的答案。
标签: typescript typescript-typings