gpt4 book ai didi

knockout.js - 在 Typescript 中扩展泛型参数

转载 作者:搜寻专家 更新时间:2023-10-30 20:59:28 24 4
gpt4 key购买 nike

我想创建一个实用函数,它通过添加一个 isChecked 来创建一个 list 为数组中的每个项目 knockout 可观察属性。此函数应如下所示:

createCheckList<T>(allEntities: T[], selected: T[]) : CheckListItem<T> {
...
}

我要返回 CheckListItem<T>因为这个接口(interface)应该扩展 T 来添加 isChecked属性(property)。但是, typescript 不允许我这样做:

interface CheckListItem<T> extends T {
isChecked: KnockoutObservable<boolean>;
}

给我错误:

An interface may only extend another class or interface.

有什么办法吗?

最佳答案

Since TypeScript 1.6你可以使用 intersection types :

type CheckListItem<T> = T & {
isChecked: KnockoutObservable<boolean>;
};

关于knockout.js - 在 Typescript 中扩展泛型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18988188/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com