将其构建为Partial in function时如何返回Record?

时间:2018-08-22 11:58:28

标签: typescript record partial

在下面的函数中将Record构建为Partial时如何返回?

type mytype = 'a' | 'b' | 'c' | 'd';

function generate(): Record<mytype,any> {
    const p: Partial<Record<mytype, any>> = {};

    // some code which dynamically builds up 'p'

    return p;
}

我得到的错误是:

  

[ts]       类型“ Partial>”不可分配给“记录”类型。         属性“ a”在“ Partial>”类型中是可选的,但在“记录”类型中是必需的。

更新: 我发现我可以执行以下操作,但这是正确的方法吗?

return p as Record<mytype, any>;

0 个答案:

没有答案