gpt4 book ai didi

Angular 10 严格模式 : AbstractControl vs FormControl

转载 作者:行者123 更新时间:2023-12-03 23:06:04 25 4
gpt4 key购买 nike

我有这个自定义组件:

<my-component [control]="..."></my-component>
这里,控制定义为:
@Input() control: FormControl;
我的组件的用法:
this.myFormGroup = new FormGroup({
name: new FormControl('')
});

<my-component [control]="myFormGroup.controls.name"></my-component>
错误:
Angular 10 严格模式提示“myFormGroup.controls.name”不是一个 FormControl。
“控件”在 FormGroup 中定义为一个对象,其中每个字段都是 AbstractControl 类型:
// forms.d.ts
export declare class FormGroup extends AbstractControl {
controls: {
[key: string]: AbstractControl;
};
// ....
}
这段代码可以在运行时工作,但不能编译。
解决这个问题的最佳方法是什么?

最佳答案

过去,我通过在表单组之外保留对表单控件的引用来避免这种情况。
例如:

this.nameControl = new FormControl()
this.myFormGroup = new FormGroup({
name: this.nameControl,
});

关于Angular 10 严格模式 : AbstractControl vs FormControl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62662863/

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