Typescript 从其他类型中拾取特性,同时从联合中选择

Typescript 从其他类型中拾取特性,同时从联合中选择,typescript,Typescript,例如,如果我有这种类型: type Stuff={ 变体:“主要”|“次要”|“第三” } 我想要第二种类型,它的键是variants,但是上面有一个联合的子集,比如说,在这个例子中,只使用primary和secondary 我的理解是你可以这样做: 类型三={ 变体:摘录 } 这是可行的,但是,我不想再次声明键变体,这可能吗 我试过下面的方法,但似乎不起作用 type StuffTwo=拾取 以下是我在中的尝试:创建一个具有此属性变量的泛型类型,然后将其与不同类型的值一起使用 type

例如,如果我有这种类型:

type Stuff={
变体:“主要”|“次要”|“第三”
}
我想要第二种类型,它的键是
variants
,但是上面有一个联合的子集,比如说,在这个例子中,只使用
primary
secondary

我的理解是你可以这样做:

类型三={
变体:摘录
}
这是可行的,但是,我不想再次声明键
变体
,这可能吗

我试过下面的方法,但似乎不起作用

type StuffTwo=拾取

以下是我在中的尝试:

创建一个具有此属性变量的泛型类型,然后将其与不同类型的值一起使用

type VariantsObject<K> = {
    variants: K
}

type RestrictedVariants = 'primary' | 'secondary'
type AllVariants = RestrictedVariants | 'tertiary';

type Stuff1 = VariantsObject<AllVariants>

type Stuff2 = VariantsObject<RestrictedVariants>

类型VariantsObject={
变体:K
}
类型限制变量='主要'|'次要'
类型ALLVANTIONS=受限变量|“三级”;
类型Stuff1=VariantsObject
类型Stuff2=VariantsObject