我使用Option
和Options
从对象typeof
生成类型keyof
。
我定义了另一种类型 - Dropdown
,它具有计算属性并使用Option
使用in
。
我收到错误:
类型'{[Options.option1]中缺少属性'options2':string; }”。
我该如何正确实施?
const Options = {
option1: 'option1' as 'options1',
option2: 'option1' as 'options2',
option3: 'option1' as 'options3',
}
type Option = typeof Options[keyof typeof Options];
type Dropdown = { [key in Option]: string };
const obj: Dropdown = {
[Options.option1]: 'test'
}
答案 0 :(得分:0)
由于@ TitianCernicova-Dragomir,我只需要将prop设置为可选(?
),如下所示:
const Options = {
option1: 'option1' as 'options1',
option2: 'option1' as 'options2',
option3: 'option1' as 'options3',
}
type Option = typeof Options[keyof typeof Options];
type Dropdown = { [key in Option]?: string };
const obj: Dropdown = {
[Options.option1]: 'test'
}