由于当前的语言限制,这可能是不可能的,但我正在使用最新的 TS (1.8.10),并且遇到了 ui-grid 打字问题。这isRowSelectable
属性于IGridOptions
被定义为可选布尔值,但文档说它是一个函数(确实如此)。我试图将布尔属性重写为返回布尔值的函数。
通常,我只是扩展输入接口并执行我需要的操作,但在这种情况下这不起作用。这是我所拥有的:
interface ISelectionGridOptions extends IGridOptions {
isRowSelectable: (row: IGridRowOf<Profile>) => boolean;
}
相关字段在哪里IGridOptions
is:
export interface IGridOptions {
...
isRowSelectable?: boolean
...
}
我得到的错误是:
(41,11): error TS2430: Interface 'ISelectionGridOptions' incorrectly extends interface 'IGridOptionsOf<any>'.
Types of property 'isRowSelectable' are incompatible.
Type '(row: IGridRowOf<Profile>) => boolean' is not assignable to type 'boolean'.
如果没有修复核心类型定义,有没有办法在我的代码中修复这个问题?
您可以使用实用程序类型Omit
:
https://www.typescriptlang.org/docs/handbook/utility-types.html#omitk https://www.typescriptlang.org/docs/handbook/utility-types.html#omittk
interface ISelectionGridOptions extends Omit<IGridOptions, 'isRowSelectable'> {
isRowSelectable: (row: IGridRowOf<Profile>) => boolean;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)