如何限制接口中字段的类型,使其仅依赖于其他字段



我有一个接口

interface T {
name: string[];
pick: T['name'][number]
}

例如,如果我选择名称为['a', 'b'],则pick只能是ab

我该怎么做?

提前感谢

您可以使用这样的泛型:

interface MyType<T extends string> {
name: T[];
pick: T[number]
}

const v1: MyType<'abc' | 'bcd'> = {
name: ['abc', 'bcd'],
pick: 'a'
}

最新更新