Javascript 无法读取未定义的属性“enabled”
在代码中。我必须以反应形式设置控件的值Javascript 无法读取未定义的属性“enabled”,javascript,angular,Javascript,Angular,在代码中。我必须以反应形式设置控件的值 ngDoCheck() { setControlValues(); } ngChanges(changes: SimpleChanges): void { setControlValues(); } private setControlValues() { try { theForm.Controls['class'].setValue(myValue); //error happens here // ...many c
ngDoCheck() {
setControlValues();
}
ngChanges(changes: SimpleChanges): void {
setControlValues();
}
private setControlValues() {
try {
theForm.Controls['class'].setValue(myValue); //error happens here
// ...many controls
}
catch(e) {
console.log(e);
}
}
但是我得到了一个例外
无法在eval forms.js:4852 atforms.js:4873 at evalforms.js.4793 at Array.forEach at FormGroup读取未定义的属性“enabled”。\u forEachChild……at FormControl.AbstractControl.updateValueAndValidity forms.js:3393
该表单定义为
theForm: FormGroup;
constructor(private fb: FormBuilder) {
this.useForm = this.fb.group({
class: [null]
});
}
我的html是:
<texearea kendoYextArea
formControlName="class" required></textarea>
还是没有线索。但是如果我使用
theForm.Controls['class'].patchValue(myValue)
然后错误就消失了。您发布的代码中似乎没有使用enabled这个词。。。forms.js是你的文件之一吗?不,我不知道是从哪里来的。也许是从角度依赖框架?我想在这个错误中没有更多的跟踪可以跟踪到你的代码行?很明显,您只发布了代码的一小部分,是什么让您认为是这一部分导致了错误?我不确定ngDoCheck或ngOnChanges是坏人?因为表单位于子组件中。forms.js来自webpack:///./node_modules/@角度/形式/esm5/形式。js@JaromandaX,设置窗体控件值时发生异常。我更新了问题。
theForm.Controls['class'].patchValue(myValue)