类型“数字”不能分配给类型“ T [K]”

时间:2020-04-24 12:08:16

标签: typescript

我有以下代码。在这个list[0][prop] = source.id;点,我收到错误类型'number'无法分配给类型'T [K]'。 我不明白为什么。我认为它应该起作用,因为我将T声明为具有字符串索引器和值为any类型的对象。

有人知道我在做什么吗?

class Test {

    private setValue<T extends { [K: string]: any }, K extends keyof T>(list: T[], prop: K) {
        const source = { id: 123 };
        list[0][prop] = source.id;
    }

}

链接到游乐场:https://www.typescriptlang.org/play/index.html?ssl=1&ssc=1&pln=2&pc=22#code/MYGwhgzhAEAqCmEAu0DeAod1vQA4CcBLANzCXmgniQDUwQBXeAHlmngA9yA7AExlTQA2gGkAXJSRFuAcwC6EsNwCe0AL4AaaCPZd4fGAGt4ygPYAzOAD4AFCELIJsIXK0FTuCSICUaLDgDgU25kSlMGfGAKAF40aEJeCQBGACYAZnUAbn8A7HtkIQAGOSF3XDloWIhwyPgAOgTsgLVMFqA

0 个答案:

没有答案