我具有以下功能签名:
duplicationValidatorAsync<T, K extends keyof T>(
obsArray: Observable<T[]>,
key: K,
equalityFn: EqualityFn = null
)
调用此函数时,我两次指定了键:
duplicationValidatorAsync<Organization, 'name'>(obs$, 'name', CommonValidators.caseInsensitiveTrimEqualityFn)
是否有一种方法可以避免这样做?能够调用此函数并使key参数从签名的通用部分继承其值将是很好的选择。
答案 0 :(得分:2)
您可以直接使用keyof T
:
duplicationValidatorAsync<T>(
// Removed K here ---------^
obsArray: Observable<T[]>,
key: keyof T,
// Use --^^^^^^^
equalityFn: EqualityFn = null
) {
// ...
}