在代码中。我必须以反应形式设置控件的值。
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);
}
}
但是我得到了例外。
无法读取FormGroup._forEachChild上Array.forEach()的eval(forms.js.4793)的eval(forms.js:4873)的eval(forms.js:4852)的未定义属性'enabled'。 ....在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>
已更新:
我发现库中的forms.js代码具有以下内容。
AbstractControl.prototype.updateValueAndValidty =
function(opts) {
if(opts == void 0) { opts = {}; }
this._setInitialStatus();
if(this.enabled ) {
this._cancelExistingSubscription();
答案 0 :(得分:0)
仍然没有任何线索。但是如果我使用
theForm.Controls['class'].patchValue(myValue)
然后错误消失了。