gpt4 book ai didi

angular - 无法将新方法添加到 Angular TypeScript 类 (FormGroup)

转载 作者:太空狗 更新时间:2023-10-29 17:46:23 24 4
gpt4 key购买 nike

我正在尝试向 Angular 的 FormGroup 类添加一个额外的方法,它将设置组的状态 + 设置来自服务器的错误状态。

我的 Angular4 应用程序的 form-helper.ts 文件中有以下代码。

import { FormGroup } from '@angular/forms';

export interface FormGroup {
setValueAndErrors(state: any, memberErrors: any);
}

FormGroup.prototype.setValueAndErrors = (state: any, memberErrors: any) => {
this.setValue(state);
// do some stuff with the memberErrors parameter
}

但是编译器在 FormGroup.prototype.setValueAndErrors 行抛出一个错误。

C:/dev/AppName/AppName-Client/src/app/shared/utils/form-helper.ts (3,21) 中的错误:属性“setValueAndErrors”在类型“FormGroup”上不存在。

最佳答案

以下为我编译:

declare module "@angular/forms/src/model" {
interface FormGroup {
setValueAndErrors(this: FormGroup, state: any, memberErrors: any): void;
}
}

FormGroup.prototype.setValueAndErrors = function(this: FormGroup, state: any, memberErrors: any): void {
this.setValue(state);
}

关键似乎是使用引用包含 FormGroup 的实际模块/文件的模块名称。

此外,您还需要说明您对 this 的使用。

关于angular - 无法将新方法添加到 Angular TypeScript 类 (FormGroup),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44927180/

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