【发布时间】:2021-06-02 04:48:47
【问题描述】:
鉴于我有这样的对象:
const props = [
{ name: 'car', list: { brand: 'audi', model: 's4' }
{ name: 'motorcycle', list: { type: 'ktm', color: 'orange' }
] as constant;
我想创建一个代表这样的类型:
type Props = {
car?: 'brand' | 'model',
motorcycle?: 'type' | 'color'
};
我得到的最接近的是这样的:
type Props = Partial<Record<typeof props[number]['name'], typeof props[number]['list']>
但返回如下内容:
type Props = {
car?: { brand: 'audi', model: 's4' } | { type: 'ktm' | color: 'orange' } | undefined,
motorcycle?: { brand: 'audi', model: 's4' } | { type: 'ktm' | color: 'orange' } | undefined
}
我怎样才能达到预期的效果?
【问题讨论】:
标签: javascript typescript types typescript-typings