如何实现O = Omit <t,keyof =“” k =“”>,以使O&K与T兼容

时间:2019-01-30 18:09:32

标签: typescript generics

以下代码段无效:

type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;

function test<P extends { name: string }, R = Omit<P, 'name'>>(
    param: R,
): P {
    return {
        ...param,
        name: 'test'
    };
}

它会产生以下错误:

  

输入'R&{name:string; }”不能分配给类型“ P”

有没有办法做到这一点?

0 个答案:

没有答案