使 O & K 与 T 兼容,typescript,generics"/>

首页 > 解决方案 > 我怎样才能实现 O = Omit使 O & K 与 T 兼容

问题描述

以下代码段不验证:

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 & { 名称:字符串;}' 不可分配给类型 'P'

有没有办法做到这一点?

标签: typescriptgenerics

解决方案


推荐阅读