【发布时间】:2020-11-16 13:22:41
【问题描述】:
我正在尝试创建一个自定义类型,将所有类型的通用参数 T 替换为 string[],但保留所有属性名称甚至嵌套。
预期行为:没有错误
interface Bar {
lat: string,
lng: string
}
interface Foo {
id: string,
bar: Bar
}
export type PartialDeepKeyOf<T> = { [id in keyof T]: string[] }
const baz: PartialDeepKeyOf<Foo> = {
id: ['a','b'],
bar: {
lat: ['a','b'],
lng: ['a','b'],
}
}
实际行为:
输入 '{ lat: string[];液化天然气:字符串[]; }' 不可分配给类型 '字符串[]'
【问题讨论】:
-
是的,但是“我正在尝试创建一个自定义类型,将所有类型的通用参数 T 替换为 string[],但保留所有属性名称甚至嵌套。”
标签: javascript typescript