【问题标题】:Typescript Override Function for Object [duplicate]对象的打字稿覆盖函数[重复]
【发布时间】:2022-02-10 03:47:24
【问题描述】:

所以我有这个小松果的小功能。我在其中输入对象的 ID 来过滤它(结果类型为 Task | undefined) 我给了一个钥匙,当然应该是keyof Task,现在我有点挣扎value部分。我试图找出最适合我的用例的东西,它必须类似于值 Of 左右,但我目前找不到正确的实用程序类型(如果它甚至应该是一个)。

changeValue(id: number, key: keyof Task , value: Partial<Task>) {
    const task = this.one(id);
    
    if (task) {
        task[key] = value;
    }
}

我这里还有第二个问题,task[key] 说它的类型为 never,谁能解释为什么这是 never 类型?

【问题讨论】:

  • 确实如此。谢谢你:)

标签: typescript pinia


【解决方案1】:

您可以通过适当的控制流利用 TypeScript 推理来使您的代码正常工作:

changeValue(id: number, key: keyof Task , value: Partial<Task>) {
    const task = this.one(id);
    
    if(task === undefined)
        return; // Handle the undefined case
    
    const propToAssign = value[key];

    if(propToAssign === undefined)
        return; // Handle the undefined case

    task[key] = propToAssign;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-19
    • 2020-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    • 2020-05-19
    • 2019-04-29
    相关资源
    最近更新 更多